2013-03-26 60 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