linux - BEGIN 和 END 在 gawk 中导致语法错误

标签 linux shell awk

BEGINEND 在我非常简单的脚本中导致语法错误。

脚本的大纲是:

args=("$0")
gawk -v var=0 '{
 *do stuff based on input file
 *stuff gets assigned to var
 *END{ print var}
}' ${args[0]}

我收到以下错误,我不知道为什么:

gawk: cmd. line:x:    END { ... }
gawk: cmd. line:x:    ^ syntax error

编辑: 所以 Adam Liss 是对的!我的花括号有误。

当我应该做 gawk'{script}END{stuff}' 时,我实际上做的是 gawk '{script END{stuff}}'

谢谢亚当!

最佳答案

这可能对你有用:

args=("$0")
gawk -v var=0 '{
 #do stuff based on input file
 #stuff gets assigned to var
}
END{ print var}' ${args[0]}

关于linux - BEGIN 和 END 在 gawk 中导致语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9254130/

相关文章:

c - 在 Linux 中使用重命名来安全地覆盖共享文件

linux - writev只写部分数据怎么处理?

linux - 引导 CMake :Log of errors 时出错

linux - 从分隔文件中提取特定列(长行到下一行)

bash - 使用 awk 在文件上追加列

linux - 从 CRAN Ubuntu 存储库安装 R : No Public Key Error

bash - 用于递归列出目录中较大文件的 shell 脚本

android - 从 Android 终端禁用设备所有者应用程序

linux - 使用 shell 脚本填充 Excel 工作表列中的值

linux - 获取两个特殊字符之间的字符串