针对括号的Awk错误消息

时间:2013-03-26 00:25:35

标签: awk

我正在运行这个awk命令,但我无法找到为什么它一直告诉我这是错误的,所有变量都被实例化(我已经用字符串替换它们来显示错误,但错误是相同的),大括号都已正确关闭,有什么建议吗?

 key=$(echo "hello,there" | awk -F"," -v index=2 '{for(i=1; i<=NF; i++) if ($i ~ $index) print i}')

我不是完美的awk用户,但我真的无法在这里发现问题 有什么建议吗?

1 个答案:

答案 0 :(得分:4)

index是一个内置函数(关键字),因此您不能将其用作变量名。将其更改为:

awk -F"," -v idx=2 '{for(i=1; i<=NF; i++) if ($i ~ idx) print i}')

字段说明符$,前缀idx也不正确,您希望按原样使用字符串。