概要
grepコマンドは、テキストファイル内でパターンに一致する行を検索するためのコマンドラインツールです。
※Global Regular Expression Printの略
dir
└─ sample.txt
===============
【sample.txtに中身】
テキスト1行目
これはテキスト2行目
これはテキスト3行目
【dirディレクトリにいる場合】
[tomoji@10moji-blog.com dir]$ grep "これは" sample.txt
これはテキスト2行目
これはテキスト3行目
複数ファイル検索
dir
├─ sample1.txt
└─ sample2.txt
===============
【sample1.txtに中身】
aaa
bbb
ccc
【sample2.txtに中身】
aaa
ddd
eee
【dirディレクトリにいる場合】
[tomoji@10moji-blog.com dir]$ grep aaa *.txt
sample1.txt:aaa
sample2.txt:aaa
正規表現
dir
└─ sample.txt
===============
【sample.txtに中身】
123aaa
aaa
bbb
ccc
【dirディレクトリにいる場合】
※先頭からaaaの文字列検索
[tomoji@10moji-blog.com dir]$ grep "aaa" sample.txt
123aaa
aaa
[tomoji@10moji-blog.com dir]$ grep "^aaa" sample.txt
aaa
オプション一覧
オプション | 説明 |
---|---|
-i | 大文字と小文字を区別せずに検索 |
-r | 再帰的にディレクトリ内を検索 |
-v | パターンに一致しない行を表示 |
-n | 一致した行の行番号を表示 |
-i
iオプションは、大文字と小文字を区別せずに検索を行うためのオプションです。
dir
└─ sample.txt
===============
【sample.txtに中身】
linux
Linux
LINUX
【dirディレクトリにいる場合】
[tomoji@10moji-blog.com dir]$ grep linux sample.txt
linux
[tomoji@10moji-blog.com dir]$ grep -i linux sample.txt
linux
Linux
LINUX
-r
rオプションは、再帰的にディレクトリ内を検索するためのオプションです。
※指定されたディレクトリ内のすべてのサブディレクトリに対して検索
dir1
├─ sample1.txt
└─ dir2
├─ sample2.txt
└─ dir3
└─ sample3.txt
===============
【sample1.txtに中身】
aaa
【sample2.txtに中身】
123aaa
bbb
【sample3.txtに中身】
aaa456
ccc
【dir1ディレクトリにいる場合】
[tomoji@10moji-blog.com dir1]$ grep aaa *.txt
aaa
[tomoji@10moji-blog.com dir1]$ grep -r aaa
sample1.txt:aaa
dir2/sample2.txt:123aaa
dir2/dir3/sample3.txt:aaa456
-v
vオプションは、指定されたパターンに一致しない行を表示するためのオプションです。
dir
└─ sample.txt
===============
【sample.txtに中身】
aaa
bbb
ccc
【dirディレクトリにいる場合】
[tomoji@10moji-blog.com dir]$ grep -v aaa
bbb
ccc
-n
nオプションは、一致した行の行番号を表示するためのオプションです。
dir
├─ sample1.txt
└─ sample2.txt
===============
【sample1.txtに中身】
aaa
bbb
【sample2.txtに中身】
bbb123
ccc456
【dirディレクトリにいる場合】
[tomoji@10moji-blog.com dir]$ grep -n aaa *.txt
sample1.txt:2:bbb
sample2.txt:1:bbb123