LoginSignup
9
8

More than 5 years have passed since last update.

grep / 文字列を検索する

Last updated at Posted at 2015-10-24

備忘録

構文

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"
9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8