我正在运行这个awk命令,但我无法找到为什么它一直告诉我这是错误的,所有变量都被实例化(我已经用字符串替换它们来显示错误,但错误是相同的),大括号都已正确关闭,有什么建议吗?
key=$(echo "hello,there" | awk -F"," -v index=2 '{for(i=1; i<=NF; i++) if ($i ~ $index) print i}')
我不是完美的awk用户,但我真的无法在这里发现问题 有什么建议吗?
答案 0 :(得分:4)
index
是一个内置函数(关键字),因此您不能将其用作变量名。将其更改为:
awk -F"," -v idx=2 '{for(i=1; i<=NF; i++) if ($i ~ idx) print i}')
字段说明符$
,前缀idx
也不正确,您希望按原样使用字符串。