0

私はこのawkコマンドを実行していますが、なぜそれが間違っていると言い続けるのかわかりません。すべての変数がインスタンス化されます(ここではエラーを示すために文字列に置き換えましたが、エラーは同じです)、中括弧はすべてです適切に閉じられています、何かアドバイスはありますか?

 key=$(echo "hello,there" | awk -F"," -v index=2 '{for(i=1; i<=NF; i++) if ($i ~ $index) print i}')

私は完璧なawkユーザーではありませんが、ここで問題を見つけることはできません。何かアドバイスはありますか?

4

1 に答える 1

4

indexは組み込み関数(キーワード)であるため、変数名として使用することはできません。これを次のように変更します。

awk -F"," -v idx=2 '{for(i=1; i<=NF; i++) if ($i ~ idx) print i}')

フィールド指定子、$の接頭辞idxも正しくありません。文字列をそのまま使用します。

于 2013-03-26T00:28:11.837 に答える