如何在awk脚本中使用搜索模式中的变量

时间:2017-02-09 08:13:32

标签: bash shell awk

我想在输入匹配模式时找到匹配的进程时打印pid:

ps aux | awk -v in="$1" '/in/{print $1}'
似乎前awk句子不对。在谷歌检查了许多结果this后,我在下面更改了我的脚本,但仍然无法正常工作:

ps aux | awk -v in="$1" '/$0 ~ in/{print $1}'

ps aux | awk -v in="$1" '($0 ~ in) {print $1}'

1 个答案:

答案 0 :(得分:2)

你的所有尝试都相当接近。问题是inawk中的保留关键字。

您可以使用:

ps aux | awk -v var="$1" '$0 ~ var {print $1}'

或者非正则表达方式:

ps aux | awk -v var="$1" 'index($0, var) {print $1}'