0

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

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

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

4

1 回答 1

4

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

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

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

于 2013-03-26T00:28:11.837 回答