指定したファイル、または標準入力内から指定したパターンを検索する。
検索は、正規表現も使うことができる。
apacheのアクセスログなどのログや、サーバプロセスなどもgrepで検索することができる。
grep [OPTION]... PATTERN [FILE]...
※PATTERN はデフォルトでは基本正規表現 (BRE)
・messagesから「error」を大文字と小文字を区別しないで一致する行を探し、5行前と3行前も合わせて出力する
grep -i -B5 -A3 error /var/log/messages
・apacheのaccesslogから「googlebot」と「bingbot」を省いた行数をカウントして出力する
grep -v -e googlebot -e bingbot ./accesslog | wc -l
・プロセス一覧から「httpd」が一致する行でかつgrepの文字を省いて出力する。
ps -ef | grep httpd | grep -v grep
・apacheのaccesslogから「js」、「css」を省いた結果を1行単位で出力する。
tail -f ./accessslog | grep -v -e \.js -e \.css --line-buffered
・grepで再帰的に検索し、特定のファイル名、ディレクトリ名を除却した結果を表示する(表示させたくない場合)
grep -rn hoge --exclude=*txt*
正規表現の選択および解釈:
| short option | long option | description |
|---|---|---|
| -E | --extended-regexp | PATTERN を拡張正規表現 (ERE) とする |
| -F | --fixed-strings | PATTERN を改行で区切られた固定文字列の組とする |
| -G | --basic-regexp | PATTERN を基本正規表現 (BRE) とする |
| -P | --perl-regexp | PATTERN を Perl 正規表現とする |
| -e | --regexp=PATTERN | 一致処理に PATTERN を使用する |
| -f | --file=FILE | FILE から PATTERN を取得する |
| -i | --ignore-case | 大文字と小文字を区別しない |
| -w | --word-regexp | 強制的に単語全体で PATTERN の一致処理を行う |
| -x | --line-regexp | 強制的に行全体で PATTERN の一致処理を行う |
| -z | --null-data | データの行末を改行ではなく NULL とする |
その他:
| short option | long option | description |
|---|---|---|
| -s | --no-messages | エラーメッセージを抑止する |
| -v | --invert-match | PATTERN に一致しなかった行を出力する |
| -V | --version | grepのバージョンを出力する |
| --help | HELPを出力する |
出力制御:
| short option | long option | description |
|---|---|---|
| -m | --max-count=NUM | NUM 回一致後に中断する |
| -b | --byte-offset | 出力行と併せてバイトオフセットを表示する |
| -n | --line-number | 出力行と併せて行番号を表示する |
| -H | --with-filename | 一致するごとにファイル名を表示する |
| -h | --no-filename | 出力の先頭にファイル名を付けない |
| -o | --only-matching | PATTERN に一致した部分のみを表示する |
| -q | --quiet,--silent | PATTERN に一致したら、grepを抜ける |
| -a | --text | バイナリーファイルもテキストとしてgrepする |
| -l | バイナリーファイルは対象外としてgrepする | |
| -d | --directories=ACTION | 指定したディレクトリにACTIONの動作を行う |
| -R | --dereference-recursive | ディレクトリ配下を再帰的にgrepする |
| -c | --count | PATTERN に一致した行の行数を出力する |
前後の表示に関する制御:
| short option | long option | description |
|---|---|---|
| -B | --before-context=NUM | 一致した前の NUM 行を表示する |
| -A | --after-context=NUM | 一致した後の NUM 行を表示する |
| -C | --context=NUM | 一致した前後 NUM 行を表示する |
新着情報
ブログランキングに参加しています。2クリックして応援していただけると嬉しいです。

人気ブログランキング
![]()
にほんブログ村