2013-03-26 84 views
0

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

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

我不是完美的awk用户,但我真的不能当场这里 问题有什么建议?

回答

4

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

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

的字段说明,$,前缀的idx也是不正确的,你要使用的字符串,因为它是。

+1

你知道我刚刚花了近2个小时试图发现问题?谢谢! – JBoy 2013-03-26 00:30:05

+0

你会介意帮助我做最后一件小事吗?你有什么想法为什么awk找不到与我的命令匹配?我编辑过,如果找到匹配的号码,如果匹配是founf,thx:key = $(echo“hello,there”| awk -F“,”-v idx =“hello”'{for(i = 1; i <如果($ i〜idx)' – JBoy 2013-03-26 01:04:28

+1

thx so much perception – JBoy 2013-03-26 01:09:32