指定したファイル、または標準入力内から指定したパターンを検索する。
検索は、正規表現も使うことができる。
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クリックして応援していただけると嬉しいです。
人気ブログランキング
にほんブログ村