LIVE SIMPLY

データ活用組織のマネジメントを行いつつコーチング、本など学んだことを書くblog

【備忘メモ】grepで複数条件指定したいとき

例:ps auxwwで実行される先頭行(USERとかRSSとか含む行)とプロセス情報の両方を表示させたい場合..

当環境:
$ uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux


?egrepを使う

  • > egrep 'one|two'のように。

※OSのバージョンによっては非サポートみたい

$ ps auxww | egrep "RSS|httpd" | grep -v egrep
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2694 0.0 1.3 10556 3428 ? Ss Nov27 0:01 /usr/sbin/httpd
apache 3403 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3404 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3405 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3406 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3407 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3408 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3409 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3410 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd

?grep&パイプで頑張る
※ま、ある意味一番実直ですな。。

$ ps auxww | grep "RSS\|httpd" | grep -v grep
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2694 0.0 1.3 10556 3428 ? Ss Nov27 0:01 /usr/sbin/httpd
apache 3403 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3404 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3405 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3406 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3407 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3408 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3409 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3410 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd


?-eオプションを使う
※-eというのは「extra word」(追加の文字列)らしい

$ ps auxww | grep -e RSS -e httpd | grep -v grep
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 2694 0.0 1.3 10556 3428 ? Ss Nov27 0:01 /usr/sbin/httpd
apache 3403 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3404 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3405 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3406 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3407 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3408 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3409 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd
apache 3410 0.0 0.8 10556 2172 ? S Nov27 0:00 /usr/sbin/httpd

これサラっと使ったらカッケー!(か?)