Awk öğrenmeye yeni başladım ve etrafındaki tüm sürümler hakkında biraz kafam karıştı. Tüm Unix benzeri sistemlerde bulunan herhangi bir "sürüm" var mı? Mesela, düz vi? Standart awk -F seçeneğini destekliyor mu?
Awk öğrenmeye yeni başladım ve etrafındaki tüm sürümler hakkında biraz kafam karıştı. Tüm Unix benzeri sistemlerde bulunan herhangi bir "sürüm" var mı? Mesela, düz vi? Standart awk -F seçeneğini destekliyor mu?
Yanıtlar:
awk - en yaygın olanıdır ve çoğu Unix benzeri sistemlerde bulunur, en eski sürüm ve daha yenisine göre daha düşük.
mawk - kod tabanı olan hızlı AWK uygulaması bir bayt kodu yorumlayıcısına dayanır.
nawk - AWK dili geliştirilirken yazarlar karışıklığı önlemek için yeni bir versiyon (bu nedenle n - n ew awk) piyasaya sürdüler . AWK'nın Python 3.0'ı gibi düşünün.
gawk - GNU awk den kısaltılmıştır. Geliştiricilerin i18n desteği eklemeye çalıştığı tek sürüm. Kullanıcıların kendi "eklentileri" ile genişletmek üzere kendi C paylaşımlı kütüphanelerini yazmalarına izin verildi. Bu sürüm Linux için standart bir uygulamadır, Unix v7 için orijinal AWK yazılmıştır.
Çene (java uygulaması), bwk (Brian W. Kernighan'ın uygulaması) ve benzeri başka versiyonlar da vardır.
file /etc/alternatives/awk
dönersymbolic link to /usr/bin/mawk
Sadece kullanabilirsin awk
. POSIX tarafından tanımlanmıştır ve bu nedenle tüm POSIX uyumlu sistemlerde bulunması gerekir.
-F
Parametresi olan bu zorunlu kıldığı de.
gensub()
, awk
-> ile test etme gawk
ve gitmenin iyi olduğunu düşünme ...
gawk --posix
POSIX standardına göre çalışmasını sağlamak için kullanabilirsiniz . Ayrıca betiğinizin standarda uygun olduğunu kontrol eder. awk --posix '' 2>/dev/null
Gawk, mawk veya original-awk awk olarak kullanılırsa Ubuntu'da kullanabilirsiniz , ancak posix seçeneği sadece gawk tarafından tanınır. --posix, orjinal awk için son seçenek olmalıdır. awk -W posix ''
Gawk ve mawk ile kullanabilirsiniz .
mawk --posix ''
sen mawk 1.3.3 kullanıyorsanız, başarısız, ancak mawk 1.3.4 kullanıyorsanız, hata iletisiyle başarılı
awk
hemen hemen her * NIX tabanlı sistemde olacaktır, ancak desteklediklerinin tam özellikleri tamamen mümkün olduğu gibi hafifçe kayar, sadece /bin/sh
sık sık bash
veya belirli bir kabuğa nasıl bağlandığına bağlı olarak farklı bir sürüme bağlanır . türevleri. (Kayıt için, aynı zamanda vi
birbirine bağlanmış makinelerin bir çoğunu da biliyorum vim
.)
Vikipedi AWK sayfa AWK anlamaya başlıyor için iyi bir başlangıç referanstır. Alan ayırıcı seçenek ' tüm desteklenir' AWK varyantları - afaik. -F
/usr/bin/awk
nawk veya gawk veya BusyBox awk (gawk davranışına benzer şekilde) çalışacaktır.