Linux任何避免使用
任何避免使用 grep -v
的方法
跨管道執行 grep 過濾時,如下例所示,
$ ps -ef | grep 24604 username 18660 24604 0 16:38 pts/3 00:00:00 ps -ef username 18661 24604 0 16:38 pts/3 00:00:00 grep --color=auto 24604 username 24604 23548 0 Aug13 pts/3 00:00:00 /bin/bash
grep 命令本身是結果的一部分,通常 - 我用另一個
grep -v,
即過濾掉它:$ ps -ef | grep 24604 | grep -v grep username 20375 24604 0 16:40 pts/3 00:00:00 ps -ef username 24604 23548 0 Aug13 pts/3 00:00:00 /bin/bash
是否有一個
grep
參數可以過濾掉 grep 字元串?(或任何其他避免的技巧
grep -v
?)
這通常通過在第一個字元周圍放置方括號來處理:
$ ps auxw | grep [c]ron root 5710 0.0 0.0 10640 1800 ? Ss 14:41 0:00 /usr/sbin/cron $
這有效,因為
cron
不再出現在grep
s 命令行 ($$ c $$羅恩)。一種更現代的方法是使用該
pgrep
命令(如果可用)。
怎麼樣:
pgrep -l 24604
這實際上取決於使用情況,但
pgrep
通常更適合自動化,這可能是您想要做的。