grepの検索対象No.24011
RET さん 07/11/07 14:32
 
こんにちは.

grep の際,検索するファイルを「*txt」(*.txt ではない)と指定すると,foo.txt
 だけでなく foo.txt~ も含まれてしまいます.
「動作環境>検索>grep」の「拡張子を厳密にチェックする」はオンにしています.
この現象は,WinXP で起こり,2k では起こりません.
「*txt」という指定の仕方がまずいのか,とも思いますが,「自分できちんとドット
を入れる」以外に,何か解決方法はあるでしょうか.
#「grepして置換」のときに気づいたのですが,~ファイル(emacs のバックアッ
プ)が置換されたのは痛かった….

[ ]
RE:24011 grepの検索対象No.24014
秀丸担当 さん 07/11/07 15:46
 

>grep の際,検索するファイルを「*txt」(*.txt ではない)と指定すると,foo.txt
> だけでなく foo.txt~ も含まれてしまいます.
>「動作環境>検索>grep」の「拡張子を厳密にチェックする」はオンにしています.
>この現象は,WinXP で起こり,2k では起こりません.
>「*txt」という指定の仕方がまずいのか,とも思いますが,「自分できちんとドット
>を入れる」以外に,何か解決方法はあるでしょうか.

xpで確認してみたところ、確かにそうなっているようです。
ファイルが列挙されるルールとしては、厳密チェックをしないときの*.htmの指
定で*.htmlのファイルがヒットするのと同じ理由だと思います。
秀丸エディタの解釈としては、「*txt」と書いた場合、拡張子が指定されていな
いと判断して、厳密チェックは関係無くなっていました。

現状では、きちんとドットを入れるという方法しか無いと思います。

対策を考えるとしたら、検索するファイルにドットが含まれていないとき警告を
出すようにするとか、そういう感じになると思いますがどうでしょうか。

[ ]
RE:24014 grepの検索対象No.24018
RET さん 07/11/07 19:38
 
こんにちは.

>ファイルが列挙されるルールとしては、厳密チェックをしないときの*.htmの指
>定で*.htmlのファイルがヒットするのと同じ理由だと思います。
>秀丸エディタの解釈としては、「*txt」と書いた場合、拡張子が指定されていな
>いと判断して、厳密チェックは関係無くなっていました。
>
>現状では、きちんとドットを入れるという方法しか無いと思います。

了解しました.

>対策を考えるとしたら、検索するファイルにドットが含まれていないとき警告を
>出すようにするとか、そういう感じになると思いますがどうでしょうか。

ありがとうございます.OSの問題(というか仕様)のために対応をお願い
するのも申し訳ないですが,grepして置換を失敗するとダメージが大きいので,
警告を出すという方向でよろしくお願いいたします.

[ ]
RE:24018 grepの検索対象No.24022
秀丸担当 さん 07/11/08 10:17
 

>ありがとうございます.OSの問題(というか仕様)のために対応をお願い
>するのも申し訳ないですが,grepして置換を失敗するとダメージが大きいので,
>警告を出すという方向でよろしくお願いいたします.

V7.xxで反映するかどうかわからないですが、とりあえず手元のバージョンでは
そのように修正しておきました。

[ ]