.awk ファイルの実行中に無効な文字エラー

.awk ファイルの実行中に無効な文字エラー

以下のコードを使用して、100ファイルの各行に値を追加しています。このコードを端末で実行すると正常に実行されますが、コードを.awkファイルに保存して実行するとエラーが発生します。ターミナルの代わりにスクリプトファイルでこのコードをどのように実行できますか?

code:  awk -F ';' '{if ($2==NULL) print $0"100"}' example.txt

私.awk

awk -F ';' '{if ($2==NULL) print $0"100"}'

端末のコマンド

awk -f my.awk example.txt

間違い

 invalid char ''' in expression. I get this error at ';'

このエラーを修正してexample.txtでawkファイルを実行するにはどうすればよいですか?

答え1

awk実行スクリプトを使用する場合、awk -fスクリプトは次のようにする必要があります。ただコードが含まれていますawk

あなたの場合

{if ($2==NULL) print $0"100"}

または

$2 == NULL { print $0 "100" }

次のコマンドで実行できます。

awk -F ';' -f my.awk example.txt

FSこれをスクリプトで設定するには、;(コマンドラインで使用せずに静的に-FBEGINブロックで次の手順を実行します。

BEGIN { FS = ";" }

$2 == NULL { print $0 "100" }

また、この変数はNULLコードに設定されていません。

関連情報