この人頭いいなと思ったエピソード

あるフォルダに空のファイルがいくつかあって、それをgrepを使ってファイルの一覧を取得したいのです。
空のファイルは、[EOF]とだけ入っている状態なので、
正規表現の「\z」で抽出出来そうな感じですけど、駄目でした。
マクロを使わないで、正規表現だけで、ファイルの一覧を取得出来るのでしょうか?
秀丸初心者ですが、宜しくお願いします。

A 回答 (2件)

正規表現だと厳しいんじゃないですかね?



空行 ^$ でやれないかとも一瞬思いましたが、中身があるファイルの中に空行があった場合も反応しちゃいますので、だめそうです。文頭と文末を表すエスケープシーケンスあるいは、何もないと言うことを表すエスケープシーケンスがない限りは無理なんじゃないですか?

(ちなみに、どちらもありません)

EOFと表示されていると言うことですが、それって単にファイルの終端ですよという表示に過ぎない可能性があります。実際そこにEOFコード(No1の回答者さんが示してくれた、0x1a)が存在しているとは限りません。少なくともサイズがゼロのファイルだったら、そこには何もないはずです。また、NOTEPAD.EXE(要はメモ帳)で作成したテキストには、EOFコードが入らないはずです。

よってここは素直に、マクロで対象フォルダのファイル一覧を取ってきて、その結果(の、ファイルサイズ)に対してgrepをかけるのが一番だと思います。
    • good
    • 0
この回答へのお礼

回答有難うございました。
マクロですね、勉強してみます (^^;

『秀丸エディタ ハンドブック』に
エスケープシーケンス
¥z  EOF (End Of File) (文字コード 0x1A)
と書いてあったので、試してみたかったのです (^^;

『EOF』はどんなファイルにも入るのだと、勘違いしてました (^^;

お礼日時:2008/12/07 19:23

バイナリが反応するか判らないけど 行頭-EOF-行末 という正規表現で引っかからないかな


eofは0x1aらしい。

秀丸無いから確認できないけど。
    • good
    • 0
この回答へのお礼

回答有難うございました。
秀丸では、
行頭‥^
行末‥$
です。
やってみましたが、駄目みたいです。(^^;

お礼日時:2008/12/04 18:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報