grepを使おう

grepは、検索対象から、指定された単語を含む行を、出力します。 catコマンドやlsコマンドなど、たくさんのテキスト出力をするコマンドと併用すると、便利です。


$ cat /proc/meminfo | grep MemTotal
MemTotal:       255744 kB
$ 

meminfoには、マシンのメモリに関する情報が多く書かれていますが、 メモリの総容量だけを知りたい場合は、上記のように、一行だけ出力した方が便利です。

逆に、一致しない行を出力することも出来ます。


$ cat /etc/httpd/logs/access_log | grep -v -e \.jp -e yahoobb.*\.net

"-v" オプションは、検索結果に一致しない行を出力します。 "-e"オプションは、検索文字列を複数指定する場合に、使います。 上記の例は、Apacheのアクセスログから、 jpドメインと、YahooBBドメイン以外のログを、表示するものです。 表示されるのは、ウイルスや検索ボットによるアクセスばかりになります^-^;。 "-v"オプションは、表示したい行の条件が、表示したくない行の条件より複雑な場合、使うと便利かもしれません。

トラックバック