我有简单的bash脚本:

#!/bin/sh
column=${1:-1}
awk ' {colawk='$column'+2; print $colawk}'
awk '(x=4; print $x)'

但是我收到了错误:

awk: (x=4; print $x)
awk:     ^ syntax error
awk: cmd. line:1: (x=4; print $x)
awk: cmd. line:1:                ^ unexpected newline or end of string

为什么? 上一行中的代码有效。

===============>>#1 票数:5

AWK程序是一系列模式动作对,写作如下:

condition { action }

其中condition通常是表达式, action是一系列命令。

print不是表达式而是语句,因此它是预期的语法错误

===============>>#2 票数:2 已采纳

您的问题是使用括号而不是大括号。 尝试:

awk '{x=4; print $x}'

相反,如下面的记录:

pax$ echo a b c d e | awk '(x=4; print $x)'
awk: cmd. line:1: (x=4; print $x)
awk: cmd. line:1:     ^ syntax error
awk: cmd. line:2: (x=4; print $x)
awk: cmd. line:2:                ^ unexpected newline or end of string

pax$ echo a b c d e | awk '{x=4; print $x}'
d

  ask by user710818 translate from so

未解决问题?本站智能推荐:

4回复

为什么awk中双引号中的〜导致语法错误

我要为设备编写脚本。 这是我的初始代码: 然后发生错误 同时,我做了一个实验: 输出是 似乎语法应该正确,有人可以给我答案吗?
2回复

AWK脚本中的语法错误

运行awk脚本时出现语法错误,该脚本是: 实际数据可能是这样的一个示例(封闭和管道分隔): 正如我从代码中看到的,我想做的是:读取所有字段,如果一个字段是数字(将始终为十进制),则用逗号替换该点。 我还试图在gsub函数中转义逗号: 但是它不能解决问题,您是否知道问题在
1回复

awk函数语法错误?

有人可以看到我为什么 从这个脚本?
2回复

AWK错误-grep或附近的语法错误

我需要创建一个脚本来将一台Linux计算机上的所有USB解除绑定/绑定。 为此,我需要运行: lsusb -t wich返回: 现在,对于此示例,我需要运行: 为了通过创建脚本来实现这一点(我是Linux的新手),我做了以下工作: 我尝试了所有可能的组合以设置
2回复

仅在添加for循环时awk中的语法错误

这是我的脚本: 这给了我这个错误: 第15行:意外标记附近的语法错误`}' 第15行:`}' 但是当我第一次使用awk生成变量start和end后跟-f myscript.sh文件 我没有收到错误: 我错过了什么? 提前致谢
1回复

awk:意外令牌附近的语法错误`(''

我试图将awk命令的输出分配给变量: USERS=$(awk '/\\/X/ {print $1}' <(w)) 此行是以下脚本的一部分: 但是,我收到以下错误: 所有括号均已关闭。 语法错误在哪里?
1回复

带有双星的awk语法错误**

我正在使用Debian 6和GNU sed,试图让awk将du的输出从一长串字节转换为后缀如Mb和Kb的更易理解的数字。 (我知道您可以使用-h选项,但我想使用awk手动执行此操作。) 到目前为止,我的命令如下所示(我添加了换行符以使其更具可读性): 但是,我从双星附近获得语法错
1回复

awk语法错误帮助识别

我似乎无法确定语法错误在哪里。我尝试了这2条语句,但没有任何内容写入'BlockedIPs'文件。 有人可以帮忙吗? 谢谢!
1回复

Bash变量在awk内引起语法错误[重复]

这个问题已经在这里有了答案: 如何为<< EOF >>包含代码的文件添加目录? 3个答案 我收到以下错误 在运行sh s.sh . awk怎么可能不启动. 而不是长度? 先感谢您。
2回复

awk-语法错误和未终止的正则表达式

我有这个awk程序 当我运行它时,它给了我这个错误信息 我已经检查过我是否使用了正确的解释器,但仍然无法正常工作。