Panda Noir

JavaScript の限界を究めるブログでした。最近はいろんな分野を幅広めに書いてます。

全文検索・ファイル名検索する手法

オプションを混乱しがちなので、まとめてみました。find、ag、grep についてまとめてあります。

※ OSのバージョン、コマンドのバージョンによっては使えないオプションがある場合があります。

ファイル名を検索する

$ find -name "*.js"
$ ag -g "\.js$"
$ ag -g \\.js$

全文検索

$ grep "hoge" ./* -Rsh
$ ag "hoge"
$ ag "hoge" --depth 0

マッチしたファイルのファイル名のみ表示

$ grep "hoge" ./* -R -0 $ ag -l "hoge"

特定ディレクトリを除いて検索する(例: .gitを除外)

$ find -type f -name "*.js" -not -type d -name ".git"
$ grep "hoge" ./* -R | grep -v ".git"
$ grep "hoge" ./* -R --exclude-dir ".git"
$ ag "hoge" --ignore-dir ".git"

特定ファイルを除いて検索する(例: index.htmlを除外)

$ find -type f -name "*.html" -not -type f -name "index.html"
$ grep "hoge" ./* -R | grep -v "index.html"
$ grep "hoge" ./* -R --exclude "index.html"
$ ag "hoge" --ignore "index.html"