さっと出てこない時のgrep

dev

email という文字列を検索したい時

$ grep -r -C5 -n -a -i "email" --include="*.txt"
  • -r で ディレクトリ内を再帰的に
  • -C5 で ヒットした前後5行も表示
  • -n で ファイル内の行数も表示
  • -a で バイナリファイルも探す (バイナリ内を検索しなければない方がいいかも)
    • つけなければ、バイナリファイル hogehoge.class に一致しました というメッセージで一応ヒットしたことはわかる。が、バイナリは除外したければその詳細はいらないので、付けない方がいいかも
  • -i で 大文字小文字関係なく検索する
  • –include で対象としたいファイルの拡張子を書く
  • -E で|のor演算子を使う

さらに絞りたいときはパイプでgrepする

$ grep -r -C5 -n -a -i "email" --include="*.txt" | grep "/mail/box/important/"

みたいなかんじ

参考:
https://eng-entrance.com/linux-command-grep#-E
ありがとうございます。

Comments

タイトルとURLをコピーしました