1. ホーム
  2. linux

[解決済み] よりエレガントな "ps aux | grep -v grep"

2022-04-17 01:55:55

質問

プロセスのリストをチェックし、自分にとって興味深いものを「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 aux | egrep '[t]erminal'

を含む行にマッチします。 terminal の場合、その egrep '[t]erminal' はありません。また 多数 のフレーバーがあります。