grepの対象指定にも正規表現No.32084
uchino さん 13/03/06 16:48
 
いつもお世話になっております。

ここに投稿するようなことではない、あるいは既出でしたら申し訳ありません。

秀丸エディタのgrep機能は、個人的にWindowsでベストワンのgrepだと思っています。
しかしいつも残念に思ってしまうのは、「検索するフォルダ」に指定できるのが常に
特定パスのみ、ヘルプにも「複数指定することはできません」とあり、さらに「検索
するファイル」に指定できるのはDOSの(?)ワイルドカードのみです。

「検索する文字列」の正規表現ON/OFFを切り替えられるように、「検索するファイ
ル」(ファイルのフルパス)を正規表現で指定できれば、非常に便利だと思うのです
が、これは難しいことでしょうか。

たとえば以下のようなケースです。
●projectsフォルダ以下にあるすべてのresoucesフォルダ内のhoge.xmlファイルだけ
を対象にしたい。
検索するフォルダ(開始・基点パス): C:\projects
検索するファイル(ファイルパス正規表現): \\resouces\\(.+\\)?hoge\.xml$
●websitesフォルダ直下にあるすべてのフォルダ直下(websitesから見て2階層下)
にあるpage.cssファイルだけを対象にしたい。
検索するフォルダ(開始・基点パス): C:\websites
検索するファイル(ファイルパス正規表現): ^C:\\websites\\[^\\]+\\page\.css$

UNIX系ならfindしてgrepにパイプ、という感じで可能で、実際に今そうしているので
すが、わざわざLinuxマシンからファイルリストを作って、またWinの秀丸で開いて、
というように、なんとも非効率な作業です。

これはテキストエディタの範疇を超える?ような気もしなくもないですし、もちろん
findほどの高機能(作成日付だとか)は必要ないですし、もしファイルパスに正規表
現フィルターを通すだけならさほど難しくないなら、ぜひ実装していただけたらと思
いまして。
正規表現は秀丸の強力な売りとも思えるので、かなり有用だと思います。
どうでしょうか。


[ ]
RE:32084 grepの対象指定にも正規表現No.32088
秀丸担当 さん 13/03/07 09:20
 

>しかしいつも残念に思ってしまうのは、「検索するフォルダ」に指定できるのが常に
>特定パスのみ、ヘルプにも「複数指定することはできません」とあり、さらに「検索
>するファイル」に指定できるのはDOSの(?)ワイルドカードのみです。
>
>「検索する文字列」の正規表現ON/OFFを切り替えられるように、「検索するファイ
>ル」(ファイルのフルパス)を正規表現で指定できれば、非常に便利だと思うのです
>が、これは難しいことでしょうか。

複数のフォルダを指定できたり、ファイルを正規表現でフィルタリングすること
は確かに現状ではそのままではできないです。
grepダイアログ上でそういう指定できたら便利だと思います。
できたらいいということでネタにさせていただきます。

[ ]