Tam veya masaüstü Solaris 11 kurulumunda üç awk
uygulama ve bazı varyantlar vardır:
/ usr / bin / awk pkg: /system/core-os@0.5.11-0.175.3.1.0.2.0
/ usr / bin / nawk pkg: /system/core-os@0.5.11-0.175.3.1.0.2.0
/ usr / bin / oawk pkg: /system/core-os@0.5.11-0.175.3.1.0.2.0
/ usr / gnu / bin / awk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / bin / gawk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / bin / igawk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / bin / pgawk pkg: /text/gawk@3.1.8-0.175.3.0.0.30.0
/ usr / xpg4 / bin / awk pkg: /system/xopen/xcu4@0.5.11-0.175.3.0.0.30.0
Farklı standartlara uymakla birlikte hepsi "standartlara uygundur".
/usr/bin/awk
awk
1977 yılında piyasaya sürülen eski UNIX uygulamasıyla awk
uyumludur. Varsayılan sürüm PATH'de, daha sonraki sürümler kopma uyumluluğu nedeniyle mevcut komut dosyalarını bozmamak için ilk olarak tutulur . oawk
eş anlamlısıawk
/usr/bin/nawk
awk
1986 yılında SVR3.1'de gönderilen "yeni" sürümüdür . Awk
POSIX standardı bu uygulamaya dayanmaktadır. /usr/xpg4/bin/awk
öncekiyle neredeyse aynıdır, ancak POSIX uygunluk doğrulama testlerine karşı resmi olarak kontrol edilen ile hemen hemen aynıdır.
/usr/gnu/bin/awk
, ayrıca /usr/bin/gawk
GNU varyantıdır awk
. Ortam değişkeni çevreye POSIXLY_CORRECT
ayarlandığında veya -W posix
seçenekle çağrıldığında POSIX standardının çoğuna veya tamamına uymayı amaçlamaktadır, ancak aksi takdirde çok sayıda özel kendi uzantısı ekler. igawk
ve pgawk
kendileri için uzantılar gawk
, birincisi destek dosyaları içerir ve ikincisi profil oluşturmayı destekler.
Birçok yararlı bilgi için GNU awk
geçmişi bölümüne de bakın .
Sadece core-os
paketleri böylece sadece bir Solaris 11 normal yüklemesinde mevcut olmasını garanti altına alınmıştır oawk/awk
ve nawk
vardır. Özellikle, yeni bir global olmayan bölge oluşturduğunuzda , varsayılan olarak solaris-small-server
grup paketini içerir, böylece ne ikili dosyalar xpg4
ne de gnu
awk
ikili dosyalar kullanılabilir. Bu tasarım gereğidir. solaris-small-server
Grup düzgün çalışması için uygulamalar için gerekli olan paketler eklemek hangi minimal bir başlangıç noktasıdır. Bu, küresel bölgede yüklü olan her şeyin küresel olmayan bir alana da yüklendiği önceki (Solaris 10) yolundan daha güvenli ve verimlidir, bu nedenle bölgeyi en aza indirmek istediğinizde kullanılmayan paketleri kaldırmanız gerekir.
awk
Böyle bir "küçük sunucu" kurulumunda POSIX desteğini taşınabilir bir şekilde almak için, xcu4
paketi yüklemeniz ve YOLUNUZU POSIX uyumlu olana ayarlamanız gerekir :
pkg install xcu4
PATH=$(getconf PATH):$PATH
Meli o paketi yüklemek istemiyorum nedense, bir geçici çözüm "kişiye özel" kullanmaktır PATH
içeren nawk
olarak awk
örneğin:
mkdir -p /opt/posix/bin
cp /usr/bin/nawk /opt/posix/bin/awk
PATH=/opt/posix/bin:$PATH
Alternatif olarak, ilk önce onu kurabilir GNU awk
ve ayarlayabilirsiniz PATH
:
pkg install gawk
PATH=/usr/gnu/bin:$PATH
Bunun Solaris 11'e özgü olmadığını unutmayın. Solaris 10 ve önceki sürümlerinde benzer bir paket grubu zaten mevcuttu ve POSIX uyumlu yardımcı programlar yalnızca "Son Kullanıcı", "Geliştirici" ve "Tam kurulum" metaclusters'larına kuruldu. "Çekirdek" veya "Ağ desteği" metacluster ile yüklenmiş bir sistem veya bölge olması, aynı xpg4
eksik soruna yol açacaktır .
Ayrıca /usr/xpg4/bin/awk
Solaris 11 sistemindeki eksikliğin POSIX uyumluluk hatası olmadığını da unutmayın. Açık Grup sertifika programı da dahil olmak üzere Oracle ve ISV'ler tarafından gerçekleştirilen testlerin büyük çoğunluğunda yalnızca tam Solaris kurulumları kullanılır . Azalan kurulumlar desteklenir, ancak nitelikli değildir .
Solaris 11 için kabuk komut dosyalarını (veya kabuk komut dosyalarını / arama kabuğu komutlarını gömen uygulamaları) dağıtırsanız /system/xopen/xcu4
, IPS paketinde bir bağımlılık olarak tanımlamanız gerekir ve yükleyici, komut dosyasının düzgün çalışması için gerekenleri otomatik olarak yapar:
depend fmri=pkg:/system/xopen/xcu4 type=require
Bkz. Https://docs.oracle.com/cd/E53394_01/html/E54820/dependtypes.html
/usr/xpg4/bin/awk
Solaris 11'de değil mi?nawk
"yeniawk
", geliştirilmiş AT&Tawk
.