Awk sürümümü nasıl bulabilirim?


12

Ben awk sürümünü bilmek istiyorsanız ben aşağıdaki olsun:

$ awk --version
awk: not an option: --version

Check-in man awkbenim awk olduğunu görmek

mawk - kalıp tarama ve metin işleme dili


--version, GNU'nun kendi komutları için icat ettiği bir şeydir, POSIX'in bir parçası değildir ve çoğu komut desteklemez - sürüm. GNU awk bunu yapar ve awk --version sistemimde mantıklı bir şey yapar. fedorqui'nin dağıtımı varsayılan olarak GNU awk dışında bir şey kullanır.
wingedsubmariner

@wingedsubmariner verdiğiniz ilginç bir bilgi. Teşekkürler! Benim garip mawk, dolayısıyla olmaması version.
fedorqui

Yanıtlar:


14

Bu durumda, man awkbize şunu gösterir:

-W sürümü

mawk versiyonunu ve telif hakkını stdout'a yazar ve sınırları stderr'a yazar ve 0'dan çıkar.

Benim durumumda,

$ awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

compiled limits:
max NF             32767
sprintf buffer      2040

3

Daha genel olmaya çalışıyorum.

awk -Wversion 2>/dev/null || awk --version

awk, Debian / Ubuntu Linux için mevcut olan mawk, gawk veya original-awk'yi çağırıyorsa çalışır. Unutmayın -Wve versionorijinal awk versionbir program olduğunu düşünmemesi için birleştirilmelidir . Ubuntu Linux'ta sudo update-alternatives --config awkawk komutu tarafından çağrılan uygulamayı görmek ve seçmek için kullanabilirsiniz .


Birleştirilmiş seçeneği kabul etmenin ne kadar standart olduğunu bilmiyorum, ama benim deneyimimde kullanmak gerekli değil: awk -W version </dev/null 2>/dev/null|awk '{print $0;nz=1}END{if(!nz)exit 1}' || awk --versionveya alternatif olarak(s=$(awk -W version </dev/null 2>/dev/null); if [ -n "$s" ]; then printf "$s\n"; else awk --version; fi)
jarno
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.