※ ChatGPTを利用し、要約された質問です(原文:awkコマンドに引数を渡す方法)
awkコマンドに引数を渡す方法
このQ&Aのポイント
awkコマンドに対して引数を渡す方法が知りたいです。例えば以下のようなリストファイルがあったとします。
awkコマンド内の$VALが引数ではなく文字列として認識されてしまうため、出力結果が100 : 200 : 300 :となってしまいます。100 : 454
200 : 37536
300 : 32432
という結果を出力したい場合(awk内の引数を有効にする場合)どうすればよいでしょうか?
awkを使用しない方法もあるかと思いますが、今回はawkを使った方法を知りたいです。
awkコマンドに対して引数を渡す方法が知りたいです。
例えば以下のようなリストファイルがあったとします。
---------------------------------------
% cat test.lst
454 100
37536 200
32432 300
34q2 400
---------------------------------------
そこで以下のシェルを実行すると
---------------------------------------
#!/bin/sh
for VAL in 100 200 300
do
CNT=`cat test.lst | awk '$2 == $VAL {print $1}'`
echo "$VAL : $CNT"
done
---------------------------------------
awkコマンド内の$VALが引数ではなく文字列として認識されてしまうため、
出力結果が
100 :
200 :
300 :
となってしまいます。
100 : 454
200 : 37536
300 : 32432
という結果を出力したい場合(awk内の引数を有効にする場合)どうすればよいでしょうか?
awkを使用しない方法もあるかと思いますが、今回はawkを使った方法を知りたいです。
宜しくお願い致します。
お礼
出来ました。 シングルクォートで囲むだけでよかったんでうすね。 ありがとうございます。 助かりました。