どのようにしてawkバージョンを見つけることができますか?


12

awkのバージョンを知りたい場合は、以下を取得します。

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

チェックインするman awkと、私のawkが

mawk-パターン走査およびテキスト処理言語


--versionはGNUが独自のコマンドのために発明したものであり、POSIXの一部ではなく、ほとんどのコマンドは--versionをサポートしていません。ただし、GNU awkは実行し、awk --versionは私のシステムで賢明な何かを実行します。fedorquiのディストリビューションは、デフォルトでGNU awk以外のものを使用しています。
wingedsubmariner 2013

@wingedsubmarinerそれはあなたが与えた興味深い情報です。ありがとう!私のawkはmawkなので、は存在しませんversion
fedorqui 2013

回答:


14

この場合は、次のようにman awk表示されます。

-Wバージョン

mawkは、バージョンと著作権をstdoutに書き込み、コンパイルされた制限をstderrに書き込み、0で終了します。

私の場合、

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

compiled limits:
max NF             32767
sprintf buffer      2040

3

もっと一般的になるようにしています。

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

awkがDebian / Ubuntu Linuxで利用可能なmawk、gawk、original-awkのいずれを呼び出しても機能します。なお、-W及びversionそのオリジナル-awkは考えていないことを連結する必要があるversionプログラムです。Ubuntu Linuxではsudo update-alternatives --config awk、コマンドawkによって呼び出される実装を表示および選択するために使用できます。


:私はそれが連結されたオプションを受け入れることがいかに標準わかりませんが、それは必要では使用しないで、それを私の経験でawk -W version </dev/null 2>/dev/null|awk '{print $0;nz=1}END{if(!nz)exit 1}' || awk --versionまたは代わりに(s=$(awk -W version </dev/null 2>/dev/null); if [ -n "$s" ]; then printf "$s\n"; else awk --version; fi)
ヤルノ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.