运行 .awk 文件时出现无效字符错误

运行 .awk 文件时出现无效字符错误

我使用下面的代码将一个值附加100到文件中的每一行。当我在终端中运行此代码时,它运行良好,但是当我将代码保存在 .awk 文件中并运行它时,我收到错误。如何从脚本文件运行此代码而不是从终端运行?

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

my.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在您的代码中未设置。

相关内容