grepでファイル名を出力したくない場合はNo.21338
nohhoso さん 06/05/25 00:38
 
nohhoso と申します。
秀丸エディタ、秀丸メールにはいつもお世話になっています。

秀丸エディタのgrep機能についてなのですが、私はサイズの大きいログファイルやCS
Vファイルなどを調べるとき、
そのファイルを秀丸エディタで開いた上で、[検索するファイル]を「(現在の内容)」
にしてgrepをかけ、目的のキーワードが含まれる行だけを表示するフィルタのように
使っています。

その際、各行の先頭にファイル名と行番号が出力されますが、これを出力しないよう
にする方法がありますでしょうか。

もし現状でそのような機能はない場合は、grepダイアログにそのようなオプションを
追加することをご検討いただけないでしょうか。

ファイル名と行番号を正規表現で置換して取り除けばいいのですが、grepをパターン
を変えて何回もかける場合もありますので・・・。(^_^;

[ ]
RE:21338 grepでファイル名を出力したくなNo.21345
秀丸担当 さん 06/05/25 14:56
 

>秀丸エディタのgrep機能についてなのですが、私はサイズの大きいログファイルやCS
>Vファイルなどを調べるとき、
>そのファイルを秀丸エディタで開いた上で、[検索するファイル]を「(現在の内容)」
>にしてgrepをかけ、目的のキーワードが含まれる行だけを表示するフィルタのように
>使っています。
>
>その際、各行の先頭にファイル名と行番号が出力されますが、これを出力しないよう
>にする方法がありますでしょうか。
>
>もし現状でそのような機能はない場合は、grepダイアログにそのようなオプションを
>追加することをご検討いただけないでしょうか。
>
>ファイル名と行番号を正規表現で置換して取り除けばいいのですが、grepをパターン
>を変えて何回もかける場合もありますので・・・。(^_^;

いまのところそういうオプションはありません。
あったらそれなりの用途はあるかもしれません。
ネタとして参考にさせていただきます。

やるとしたら、置換やマクロを使ってやるのが解決策ということになります。
ちなみに(現在の内容)に対して何回もgrepをかけても、ファイル名部分が増殖す
ることは無いので、最後にファイル名除去をするだけでもできます。
ファイル名そのものが検索にヒットするので不都合があるにはありますが。

[ ]
RE:21338 grepでファイル名を出力したくなNo.21348
山紫水明 さん 06/05/25 21:04
 
 nohhosoさん

>その際、各行の先頭にファイル名と行番号が出力されますが、これを出力しない
>ようにする方法がありますでしょうか。

 grep コマンドの代わりに次のようなマクロを使えばとりあえずはできませんか?

//---------------------------------------------------------//
if( !selecting ) selectword;
$word = gettext( seltopx, seltopy, selendx, selendy );
grepdialog2 $word, "(現在の内容)", ".";
if( result < 0 ) endmacro;
#so = searchoption;
$sb = searchbuffer;
replaceall "^.+?\\f\\([0-9]+\\): ", "", regular;
    //行番号も消去
//replaceall "^.+?\\f\\([0-9]+\\)", "\\1", regular;
    //ファイル名のみ消去
setsearch $sb, #so;
endmacro;
//---------------------------------------------------------//

     では, (^^)/~
                                        山紫水明(ユーザー)
                                        SANSHISUIMEI

[ ]
RE:21348 grepでファイル名を出力したくなNo.21350
nohhoso さん 06/05/26 01:07
 
秀丸担当 さん

コメントありがとうございます。
そうか、何回grepしてもファイル名と行数は1つしか付かないのですね。
気になるので毎回除去してました。(^_^;


山紫水明 さん

マクロありがとうございます。m(_ _)m
これで私の思ってることは実現できそうですね。

[ ]