プログラミング

Bashのagでファイル名でファイルを正規表現検索する

Linux Bashのコマンドラインツールのagでファイル名でファイルを正規表現検索する方法について紹介します。

ggreer/the_silver_searcher: A code-searching tool similar to ack, but faster.でファイル名でファイルを検索することができるみたいでしたので軽く紹介。

agというと全文検索ツールなのですが、ファイル名の検索もできるみたいです。WindowsにはEverything( Downloads – voidtools )というおなじみ便利ユーティリティがありますが、こういう感じですね。

フォルダ名マッチでの正規表現検索なので、使い勝手はEverything的な感じだと思います。Everythingはインデックスしてるのでめっちゃ早いですしGUIインターフェイスなので並び替えとか何かと便利ですが。LinuxのEverythingみたいなソフトウェアを探してはみているのですが、使えそうなやつがなくて、結局ag使うのが良さそうです。

https://yuis.xsrv.jp/images/ss/ShareX_ScreenShot_dd57c91a-a822-4259-8d95-335d5077c89a.png

yuis ASUS /mnt/c/_tmp$ ag -g "522"
20190501091958/522.txt
20190522113858/android_photo_TFEeJMuS308gNkxaT1ixDqscrmbEtybD.jpg
20190522113858/android_photo_TFEeJMuS308gNkxaT1ixDqscrmbEtybD.jpg is YkvfYeWfFTxvVnlBQOxpLTtIxqDYAvpw.jpg.is.tag
20190522113858/YkvfYeWfFTxvVnlBQOxpLTtIxqDYAvpw.jpg
20190522121215/android_photo_eRrDXpx9yLeJnXwCCaHkxdsXYw4gQsQN.jpg
20190522121215/android_photo_eRrDXpx9yLeJnXwCCaHkxdsXYw4gQsQN.jpg is fhq8g4BfFVJB5H4Fu8Mpjt9T9AHDKp1h.jpg.is.tag
20190522121215/fhq8g4BfFVJB5H4Fu8Mpjt9T9AHDKp1h.jpg
yuis ASUS /mnt/c/_tmp$ ag -g "^.*/522"
20190501091958/522.txt

ちなみにripgrepってライブラリもagみたいなことができるみたいです。

BurntSushi/ripgrep: ripgrep recursively searches directories for a regex pattern
[QUESTION/SUGGESTION] Does/should ripgrep support ag/ack’s -g flag for searching filenames? · Issue #284 · BurntSushi/ripgrep

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です