输入awk '{print ${pp}$0}' file.txt显示awk:line 1:syntax error at or near {
82浏览 · 2023-12-10 15:41:31
这个错误是因为您在 awk [命令]([http](https://geek.csdn.net/educolumn/68f28ca3131d47699e5902c5d3d74d51?spm=1055.2569.3001.10083)s://geek.csdn.net/educolumn/4641683097031caa4ae7258fda89dcae?spm=1055.2569.3001.10083)中使用了[变量](https://geek.csdn.net/educolumn/a73491d4f4120b72f6ffa176ed2faf11?spm=1055.2569.3001.10083) ${pp},但是在 awk 语法中,[变量](https://geek.csdn.net/educolumn/a73491d4f4120b72f6ffa176ed2faf11?spm=1055.2569.3001.10083)应该用 $ 符号加上[变量](https://geek.csdn.net/educolumn/a73491d4f4120b72f6ffa176ed2faf11?spm=1055.2569.3001.10083)名来表示。因此,正确的写法应该是:
awk '{print $pp $0}' file.txt
其中,$0 代表整个文本行,$pp 代表第 pp 列的字段。请注意,$ 符号后面直接跟变量名,不需要加上花括号。
相关问题
抱,我犯了一个错误。在awk命令中,忘记了一个分号。正确的命令应该是这样的:
```bash
df_usage=$( -h | grep -v mnt | awk 'NR>2{print $5} END{print}')
请注意,将脚本中的反引号改为了`$()`形式,这是一种更现代化的命令替换方式。
感谢您指出错误,如果您还有其他问题,请随时提问!
这个错误是因为你在awk命令中使用了不正确的语法。在awk中,if语句的语法应该是:
if (condition) {
action
在你的命令中,条件部分缺少了一个变量,并且在action部分没有指定要执行的动作。如果你想打印出"bash",你可以尝试以下修改:
awk '{if ($1 >= 70) print "bash"}'
这假设你想根据第一个字段的值是否大于等于70来打印出"bash"。请根据你的需求进行相应的修改。