2015-12-03 47 views
0

我正在嘗試查找包含用戶輸入的單詞的字段數。我不知道在我的awk語句中使用該變量的語法。如果我只使用$ i ==「Washington」的文字字符串,它可以工作,但我需要它來使用輸入。當我嘗試它時,它什麼都不返回:使用awk和變量查找單詞的出現次數

<code> 
read Choice 
    awk '{ 
     for (i=1;i<=NF;i++) 
      if ($i == "$Choice") 
      c++ 
     } 
    END{ 
    print c}' DC_Area.csv 
    </code> 

回答

3

shell變量在awk中不可見。這就是OP中的代碼不起作用的原因。使用-v選項將shell變量傳遞給awk。

嘗試

read Choice 
awk -v Choice="$Choice" '{ 
    for (i=1;i<=NF;i++) 
     if ($i == Choice) 
     c++ 
    } 
END{ 
print c}' DC_Area.csv 
相關問題