agで特定の拡張子のファイルだけに対して再帰的に検索したいなと思っていたけどやり方がわからなかった。*.txt
は可能だけど再帰的に検索してくれないし、**/*.txt
は受け付けてくれないし……。Twitterでボヤいたら「ag -Gとかあるんだ」とかエアーを見たので調べてみたらまさにこれだった。
-G
オプションでは正規表現を使ってファイル名を指定する。
$ ag foo -G \.txt$
これで.txt
で終わるファイルからのみ再帰的に検索できる。よく使うファイル名のパターンを指定済みのエイリアスをいくつか作っておくと良さそう。