grepping ps 的输出,排除单词 grep
grepping output of ps, exclude the word grep
我正在使用 ps 查找为执行命令 "sleep 1234 &" 而创建的进程的 pid
我 grep 结果只匹配 "sleep 1234"。
ps -A -f | grep "sleep 1234"
然而,这也匹配命令 "grep sleep 1234" 本身,返回两行而不是一行。我如何为 grep 编写一个模式来排除单词 'grep' 本身?
谢谢
这是一个很常见的问题,最简单的解决方案是用方括号将 grep 模式中的字符括起来:
ps -A -f | grep "[s]leep 1234"
这现在将匹配 sleep 1234
,但不匹配 [s]leep 1234
(因为 s
和 l
之间的文字 ]
),以及 grep 行不再匹配。
grep
在进程列表中的原因是管道是从右到左执行的,所以grep
实际上在ps
之前执行。
我正在使用 ps 查找为执行命令 "sleep 1234 &" 而创建的进程的 pid 我 grep 结果只匹配 "sleep 1234"。
ps -A -f | grep "sleep 1234"
然而,这也匹配命令 "grep sleep 1234" 本身,返回两行而不是一行。我如何为 grep 编写一个模式来排除单词 'grep' 本身?
谢谢
这是一个很常见的问题,最简单的解决方案是用方括号将 grep 模式中的字符括起来:
ps -A -f | grep "[s]leep 1234"
这现在将匹配 sleep 1234
,但不匹配 [s]leep 1234
(因为 s
和 l
之间的文字 ]
),以及 grep 行不再匹配。
grep
在进程列表中的原因是管道是从右到左执行的,所以grep
实际上在ps
之前执行。