grep コマンド

概要

 
指定したファイル、または標準入力内から指定したパターンを検索する。

検索は、正規表現も使うことができる。

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 optionlong optiondescription
-E--extended-regexpPATTERN を拡張正規表現 (ERE) とする
-F--fixed-stringsPATTERN を改行で区切られた固定文字列の組とする
-G--basic-regexpPATTERN を基本正規表現 (BRE) とする
-P--perl-regexpPATTERN を Perl 正規表現とする
-e--regexp=PATTERN一致処理に PATTERN を使用する
-f--file=FILEFILE から PATTERN を取得する
-i--ignore-case大文字と小文字を区別しない
-w--word-regexp強制的に単語全体で PATTERN の一致処理を行う
-x--line-regexp強制的に行全体で PATTERN の一致処理を行う
-z--null-dataデータの行末を改行ではなく NULL とする

その他:

short optionlong optiondescription
-s--no-messagesエラーメッセージを抑止する
-v--invert-matchPATTERN に一致しなかった行を出力する
-V--versiongrepのバージョンを出力する
--helpHELPを出力する

出力制御:

short optionlong optiondescription
-m--max-count=NUMNUM 回一致後に中断する
-b--byte-offset出力行と併せてバイトオフセットを表示する
-n--line-number出力行と併せて行番号を表示する
-H--with-filename一致するごとにファイル名を表示する
-h--no-filename出力の先頭にファイル名を付けない
-o--only-matchingPATTERN に一致した部分のみを表示する
-q--quiet,--silentPATTERN に一致したら、grepを抜ける
-a--textバイナリーファイルもテキストとしてgrepする
-lバイナリーファイルは対象外としてgrepする
-d--directories=ACTION指定したディレクトリにACTIONの動作を行う
-R--dereference-recursiveディレクトリ配下を再帰的にgrepする
-c--countPATTERN に一致した行の行数を出力する

前後の表示に関する制御:

short optionlong optiondescription
-B--before-context=NUM一致した前の NUM 行を表示する
-A--after-context=NUM一致した後の NUM 行を表示する
-C--context=NUM一致した前後 NUM 行を表示する
 
 

ブログランキングに参加しています。2クリックして応援していただけると嬉しいです。

人気ブログランキング
ブログランキング・にほんブログ村へ
にほんブログ村