使用awk在字符串中搜索并将结果作为变量返回

时间:2013-04-19 16:38:47

标签: bash shell awk

我现在的代码

line=$(ps -A|awk '/$name/{print $1}')

似乎不起作用。我想要的是使用awk按进程名称搜索ps的输出并在我的脚本中返回pid

2 个答案:

答案 0 :(得分:4)

line=$(ps -A|awk -v name="$name" '$0 ~ name{print $1}')

有关在awk脚本中访问shell变量值的正确方法,请参阅here

答案 1 :(得分:1)

line=$(ps -A|awk '/'$name'/{print $1}')

您遗漏了'

的额外报价$name