Awk条件声明

时间:2014-03-19 19:53:10

标签: bash scripting awk grep

我有一个包含通常如下结构的数据的文件:

functionCaller -> functionCalled

我将获得用户输入要搜索的功能(让我们说主要),以及该功能应该是呼叫者还是被呼叫(让他们说是呼叫者)。因此,我正在寻找所有具有" main"在第一列(如果它被调用,它将在第三列,我推测),我想打印整个事情。它看起来像这样(第二种选择的另一种方式):

main -> whateverFunction
main -> anotherFunction

我尝试过这样的事情,但这不起作用:

 grep "$id" "$file" | awk '{ if($1 == "$id") print $1,$2,$3; }'

1 个答案:

答案 0 :(得分:4)

你的grep部分没有意义,这应该有效:

awk -v pat="$id" '$1==pat{print $1,$2,$3}' "$file"