--versi adalah sesuatu yang diciptakan GNU untuk perintah mereka sendiri, itu bukan bagian dari POSIX dan kebanyakan perintah tidak mendukung --versi. Namun, GNU awk melakukan, dan awk --versi melakukan sesuatu yang masuk akal pada sistem saya. Distribusi fedorqui menggunakan sesuatu selain GNU awk secara default.
wingedsubmariner
@wingedsubmariner itu informasi menarik yang Anda berikan. Terima kasih! Awk saya adalah mawk, karenanya tidak ada version.
fedorqui
Jawaban:
14
Dalam hal ini, man awkperlihatkan kepada kami:
-W versi
mawk menulis versi dan hak ciptanya ke stdout dan mengkompilasi batasan untuk stderr dan keluar 0.
Dalam hal ini,
$ awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
compiled limits:
max NF 32767
sprintf buffer 2040
berfungsi apakah awk memanggil mawk, gawk atau original-awk yang tersedia untuk Debian / Ubuntu Linux. Catat itu -Wdan versionharus digabung sehingga awk-original tidak menganggapnya versionsebagai program. Di Ubuntu Linux Anda dapat menggunakan sudo update-alternatives --config awkuntuk melihat dan memilih implementasi yang dijalankan oleh perintah awk.
Saya tidak tahu bagaimana standarnya untuk menerima opsi gabungan, tetapi tidak perlu menggunakannya dalam pengalaman saya: awk -W version </dev/null 2>/dev/null|awk '{print $0;nz=1}END{if(!nz)exit 1}' || awk --versionatau sebagai alternatif(s=$(awk -W version </dev/null 2>/dev/null); if [ -n "$s" ]; then printf "$s\n"; else awk --version; fi)
mawk
, karenanya tidak adaversion
.Jawaban:
Dalam hal ini,
man awk
perlihatkan kepada kami:Dalam hal ini,
sumber
Saya mencoba menjadi lebih umum.
awk -Wversion 2>/dev/null || awk --version
berfungsi apakah awk memanggil mawk, gawk atau original-awk yang tersedia untuk Debian / Ubuntu Linux. Catat itu
-W
danversion
harus digabung sehingga awk-original tidak menganggapnyaversion
sebagai program. Di Ubuntu Linux Anda dapat menggunakansudo update-alternatives --config awk
untuk melihat dan memilih implementasi yang dijalankan oleh perintah awk.sumber
awk -W version </dev/null 2>/dev/null|awk '{print $0;nz=1}END{if(!nz)exit 1}' || awk --version
atau sebagai alternatif(s=$(awk -W version </dev/null 2>/dev/null); if [ -n "$s" ]; then printf "$s\n"; else awk --version; fi)