我想使用grep从ps命令的输出中搜索。标准是:它包含特定的用户名和命令。
例如,使用以下ps结果:
suh1 48980 0.0 0.0 144396 20372 ? Ss Mar16 0:20 SCREEN -DR l2
tprossi 52257 0.0 0.0 127344 3264 ? Ss Mar13 0:26 SCREEN
mannerh1 54331 0.0 0.0 125368 1288 ? Ss 14:32 0:00 SCREEN
thakorv1 54791 0.0 0.0 126096 2116 ? Ss Mar16 0:00 SCREEN
valiman2 58699 0.0 0.0 125364 1244 ? Ss Mar17 0:00 SCREEN
rxue 60121 4.0 0.0 108344 1120 pts/176 R+ 14:39 0:00 ps aux
rxue 60122 0.0 0.0 103252 920 pts/176 S+ 14:39 0:00 grep -e rxue -e SCREEN
我想获得用户" tprossi"并使用命令SCREEN。 一个解决方案是:
ps aux | grep tprossi | grep -i screen
但是这里grep被调用两次,这不是那么优雅。有没有捷径? 我也试过了:
ps aux | grep -i "tprossi*screen"
但它不起作用:<
任何人都可以提出一些建议吗?提前谢谢!
答案 0 :(得分:0)
您错过了.
ps aux | grep -i "tprossi.*screen"
没有它,你只需要重复i
零次或多次。
.
代表任何角色。
您也可以使用awk
ps aux | awk '/tprossi/ && /screen/' # in any order
或
ps aux | awk '/tprossi.*screen/' # in this order