pgrep&egrep

3月 19, 2009

Linuxにおいてgrepコマンドは基本中の基本。
なのでここでは割愛させてもらうとして、ちょっとした応用編のpgrepとegrepについて書いておく。

[pgrep]
pgrepは、指定したパターンを含むプロセスのPIDのみ表示する。
例えば、mysqlを含むプロセスのPIDとプロセス名を表示するには以下のコマンドを実行する。

$ pgrep –l mysql


代表的なオプションには以下のようなものがある。

-x パターンに正確に一致するPIDのみ表示
-n パターンを含むプロセスのうち、最新のプロセスのPIDのみ表示
-u user name 特定のユーザによって所有されているプロセスのPIDのみ表示
-l  PIDとプロセス名を表示
-f コマンド行の引数も合わせて表示


実は普段自分はpgrepを使うことはまずなかったのだが、今これを書いていて、使ってみよう!と思った。

[egrep]
egrep は、複数のパターンを検索対象とする (grep –e と同じ)。
検索したい文字列をダブルもしくはシングルクォーテーションで囲み、パイプ記号で区切りをつける。
便利なコマンドではあるのだが、しばらく使っていないとすぐ書式を忘れてしまうので、書いておこう〜、と。

書式:egrp ‘文字列|文字列|文字列’ 対象ファイル

$ egrep ‘aaa|bbb|ccc’ /var/log/httpd/access_log

以下でも出力結果は同じ。お好きな方をどうぞ。

$ grep -e aaa -e bbb -e ccc /var/log/httpd/access_log


ちなみにpgrepはOSによってはサポートされていないよう。
(自分の知る限り、SolarisはOK、MacはNO)

Linux関連記事一覧はこちらをどうぞ
↓ ↓ ↓
Linux-index

Categories: Linux

No Responses so far | Have Your Say!

Comments are closed.