home Glamenv-Septzen(ぐらめぬ・ぜぷつぇん)(archive)

技術/UNIX/grep, fgrep, egrep, zgrep

作成日: 2009-11-16 09:13:57   /   last updated at: 2009-12-07 01:09:18
カテゴリ: Linux UNIX シェルスクリプト 

時々使い分けたくなるのでメモ。

fgrep = grep -F : 正規表現パターンではなく、固定文字列としてマッチング
egrep = grep -E : 拡張正規表現として処理
zgrep = grep -Z : 検索する前に入力データをzlibで伸長

他:

-I : バイナリファイルを無視(= --binary-files=without-match)
-n : マッチした行の先頭に行番号を表示する

あるディレクトリの下の、特定の拡張子のファイル群に対してだけ再帰的にgrepしたい場合:

$ find <directory> *.<extension> | xargs grep <options> <pattern>

↓あるいは

$ grep <options> <pattern> `find <directory> *.<extension>`

ただし、findコマンドの時点で該当ファイルが一つも無かった場合は入力ファイルが未指定ということになるため、標準入力からの入力待ちになってしまう点に注意する。

参考:


original url: https://www.glamenv-septzen.net/view/477