当我检查进程列表并使用“grep”筛选出对我有意义的进程时,grep
本身也包含在结果中。例如,列出终端:
当我检查进程列表并使用“grep”筛选出对我有意义的进程时,结果中也会包括grep
本身。例如,要列出终端:
$ ps aux | grep terminal
user 2064 0.0 0.6 181452 26460 ? Sl Feb13 5:41 gnome-terminal --working-directory=..
user 2979 0.0 0.0 4192 796 pts/3 S+ 11:07 0:00 grep --color=auto terminal
通常我使用ps aux | grep something | grep -v grep
来消除最后一条记录... 但这并不是优雅的方式 :)
你有一个更优雅的方法解决这个问题吗(除了把所有命令都包装成一个单独的脚本,这也不错)
ps ux | awk '/name/ && !/awk/ {print $2}'
。 - Jakub M.grep -v grep
”这部分是在做什么? - Jwan622grep -v grep
可以从 grep 结果中排除grep
。如果将 grep 与 ps 结合使用,则 grep 进程(带有 grep 参数)也会显示出来,使结果混乱。grep -v grep
是避免这种情况的常见方法。 - Eugene Platonov