引数の順序を変更することが許可されている場合は、次のようにします。
awk -f myAwk.awk nameToSearch file.txt
次に、次のことができます。
awk 'NR==1 { nameToSearch = $0; next} { ... rest of myAwk.awk here ...}' nameToSearch file.txt
NR==1 {...}
もちろん、ファイルの先頭にブロックを追加してmyAwk.awk
、次を使用し続けることもできます。
awk -f myAwk.awk nameToSearch file.txt
Piotr Wadasが説明する手法には、同じ効果があります。
awk -v nameToSearch=whatever -f myAwk.awk file.txt
whatever
スクリプトに追加の引数として渡すのではなく、それを自分で使用します。whatever
追加の引数として渡すことは、-v
ファシリティがawkに追加される前にスクリプト作成者がしなければならなかったことです。記述-v nameToSearch=
が冗長すぎる場合は、すべてをシェルスクリプトでまとめて、次のように言います。
myShellScript whatever file.txt
whatever
しかし、あなたはawkスクリプトに追加の引数として渡すことによってそれを行う方法を尋ねたので、それが私が示したものです。