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/awkdö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.
-FParametresi olan bu zorunlu kıldığı de.
gensub(), awk-> ile test etme gawkve gitmenin iyi olduğunu düşünme ...
gawk --posixPOSIX 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/nullGawk, 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ı
awkhemen hemen her * NIX tabanlı sistemde olacaktır, ancak desteklediklerinin tam özellikleri tamamen mümkün olduğu gibi hafifçe kayar, sadece /bin/shsık sık bashveya 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 vibirbirine 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/awknawk veya gawk veya BusyBox awk (gawk davranışına benzer şekilde) çalışacaktır.