bash $0
にはスクリプトの名前が含まれていますが、awkには次の内容でmyscript.awkという名前のスクリプトを作成した場合:
#!/usr/bin/awk -f
BEGIN{ print ARGV[0] }
実行すると、「awk」のみが出力されます。また、i> 0のARGV [i]は、コマンドラインのスクリプト引数にのみ使用されます。それでは、スクリプトの名前、この場合は「myscript.awk」を印刷する方法は?
mawk
Ubuntuのデフォルトは何だと思いますか?15.04 VMでは、デフォルトawk
はgawk
です。mawkがインストールされている間、それはデフォルトではありません。
awk -f myscript.awk
。ただし、これは問題の問題とは無関係です。
awk
で始まるため、スクリプト#!/usr/bin/awk -f
です。シェルスクリプトは#!/bin/sh
(または類似の)で始まります。
awk -f file
。