我想在输入匹配模式时找到匹配的进程时打印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}'
答案 0 :(得分:2)
你的所有尝试都相当接近。问题是in
是awk
中的保留关键字。
您可以使用:
ps aux | awk -v var="$1" '$0 ~ var {print $1}'
或者非正则表达方式:
ps aux | awk -v var="$1" 'index($0, var) {print $1}'