grep での除外フォルダの指定No.37590
kazu-ma さん 19/10/04 09:30
 
先日は v8.89 での仮想デスクトップ環境関連での改善、ありがとうございました。
おかげさまで快適に使用できています。

今回は grep に関して教えていただきたく思います。

某開発環境の IDE を使用しているのですが、これがキャッシュのためにソースファ
イルと同じディレクトリへサブディレクトリを自動的に作成し、ソースファイルを別
名でコピーします。
この状況で秀丸エディタで全ソースファイルに対し、「サブフォルダも検索」を有効
にして grep を実行すると、この自動的に作成されるサブディレクトリも対象となっ
てしまい、不要な結果が得られることになってしまいます。

このような特定のサブディレクリを検索対象から除外することはできないでしょうか?

補足ですが、自動的に作成されるサブディレクリ内のファイルは、コピーの際に拡張
子が変えられることはないため、ファイル単位での除外はできませんでした。
また、勝手に作成されるサブディレクトリの名称は固定です。
さらに、IDE 側でこのサブディレクトリを作成しない設定は残念ながら見つかってい
ませんし、できるならキャッシュは利かせたいと思っています。

ソースファイルの数が多いケースでは、当然ながら検索に時間もかかることになりま
して、何とかできないものかと。

何か手段があるようでしたら教えていただければ嬉しく思います。
よろしくお願いします。

[ ]
RE:37590 grep での除外フォルダの指定No.37591
秀丸担当 さん 19/10/04 10:27
 

grepで特定のファイルを除外する方法として、検索するファイル名に<!*.xxx>という
ような記述を含ませる方法と、[その他]→[動作環境]→[検索]→[grepの動作]で「指
定した拡張子を除外」で指定する方法があります。

この書き方でファイル名やワイルドカードの最後に「\」を付けると、サブフォルダ
名の除外ができます。

grepダイアログの検索ファイル名に記述する場合の例
*.txt<!subfolder\>
*.txt<!subfolder\;backup\>
*.txt<!sub*\>
*.txt<!sub*\;back*\>

「指定した拡張子を除外」で指定する例
subfolder\
subfolder\;backup\
sub*\
sub*\;back*\

昔は動作環境で拡張子を空白を開けて記述するだけだったのですが、その後ワイルド
カードをできるようにしたり、サブフォルダもできるようにしていました。
拡張子だけではく、設定名と違うことになっているので、動作環境の設定名などを変
更しようと思います。


[ ]
RE:37591 grep での除外フォルダの指定No.37592
kazu-ma さん 19/10/04 11:08
 
grep での特定フォルダの除外方法、ありがとうございました。
おかげさまでまた更に快適に使用できています。

ヘルプをよくよく見たら記載がありましたね。見落としていました。申し訳ありませ
ん。

ありがとうございました。

[ ]