2015-12-03 52 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 
相关问题