* grepコマンド [#p48000e8]
** OR検索 [#b8798726]
ls | grep -e '.html' -e '.css' # .htmlと.cssだけ
ls | grep -E '.html|.css' # .htmlと.cssだけ(拡張正規表現を使って)
ls | grep -e '.html' -e '.css'
** AND検索 [#b00ca58e]
ls -l | grep 2016 | grep .txt
** NOT検索 [#pc15a95d]
ls | grep -v '.html' # .html以外
ls | grep -v -e '.html' -e '.css' # .htmlと.css以外
ls | grep -v -E '.html|.css' # .htmlと.css以外(拡張正規表現を使って)
** マッチしたファイル名だけ取り出す [#p5735d1b]
grep -l FOO *
** マッチした内容だけ取り出す(ファイル名を抑止する) [#t113238f]
grep -h FOO *
** マッチした行数を調べる [#k566f916]
grep -c FOO *
1.txt:1
2.txt:0
3.txt:1
** 独立した単語として検索する [#l1617ed8]
cat 1.txt
FOOBAR
BAZ FOO
grep -w FOO 1.txt
BAZ FOO
** マッチした前後の行を表示する [#i182f598]
cat 1.txt
01
02
03
04 FOO
05
06
07
grep -A2 -B1 FOO 1.txt
03
04 FOO
05
06
** 再帰的に指定したファイルのみgrepする [#r5d05a87]
(IFS=$'\n'; for f in $(find . -type f); do (file $f | grep "FOO_BAR_BAZ") && echo $f ; done)