備忘録
構文
grep [ -[[AB] ]num ] [ -[EFGBchilnsvwx] ] [ -e pattern | -f file ] [ files... ]
オプション
option | content |
---|---|
-G | 検索に正規表現を使用できる |
-E | 検索に拡張正規表現を使用できる |
-F | 固定文字列の検索を行う |
-num | マッチした行から前後num行を同時に検索結果として表示する |
-A num | マッチした行から後num行を同時に検索結果として表示する |
-B num | マッチした行から前num行を同時に検索結果として表示する |
-C | マッチした前後2行を同時に検索結果として表示する |
-b | 各行の前に,ファイルの先頭からバイト単位のオフセット数を表示する |
-n | 各行の前に行番号を表示する |
-c | 検索条件にマッチした行数を表示する。-cvとするとマッチしなかった行数を表示する |
-e pattern | 検索条件を指定する |
-f file | 検索パターンとしてfileの内容を使用する |
-h | 検索結果の先頭にマッチしたファイル名を表示しない |
-i | 検索条件に大文字と小文字の区別をなくす |
-l | 検索条件にマッチしたファイル名を表示する。-lvとするとマッチしなかったファイル名を表示する |
-q | 検索結果を表示しない |
-s | エラー・メッセージを表示しない |
-v | マッチしない行を検索結果として表示する |
-w | パターン・マッチを,単語全体で行うようにする |
-x | 行全体を検索対象にする |
files | 検索するファイルを指定する |
説明
ファイル中の文字列を検索する。検索パターンとして正規表現を使用できる。
正規表現
option | content |
---|---|
. | 改行文字以外の任意の1文字 |
* | 直前の1文字の0回以上の繰り返しに一致。直前の文字は正規表現でも構わない |
^ | 行の先頭を表す |
$ | 行の末尾を表す |
[ ] | かっこ内の任意の文字に一致。ハイフン(-)で範囲指定もできる。かっこ内の最初の文字に^を使用すると,意味が逆転する |
+ | 直前の文字の1個以上の連続 |
? | 直前の文字の0または1文字にマッチ |
pattern1` | `pattern2 |
(pattern) | patternをグループ化する |
\ | 正規表現に使われる記号を普通の文字として扱う |
使用例
- 拡張子がtxtのファイルからhogeを検索
$ grep "hoge" *.txt
-
<p>
のある行数を表示
$ grep -ci "<p>" index.shtml
- hogeのプロセス情報を得る
$ ps aux | grep "hoge"