以下のコードを使用して、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
これをスクリプトで設定するには、;
(コマンドラインで使用せずに静的に-F
)BEGIN
ブロックで次の手順を実行します。
BEGIN { FS = ";" }
$2 == NULL { print $0 "100" }
また、この変数はNULL
コードに設定されていません。