Grepで検索結果用のウィンドウを表示しなNo.04485
パキラ さん 04/09/22 15:28
 
ループ内で検索する単語を切り替えてGrepし、
それぞれヒットした件数だけを取得したいのですが
Grep文を実行する度に検索結果用のウィンドウが
開いてしまうので非常に鬱陶しいのです。

Grep文にはIconオプションを指定していますが、
ウィンドウが一度表示されてから最小化されるので
あまり変わりませんでした。

何か良い方法はありますでしょうか?

[ ]
RE:04485 Grepで検索結果用のウィンドウをNo.04486
ENCODINGSHIFTJIS さん 04/09/22 16:55
 
>何か良い方法はありますでしょうか?

秀丸を使わない場合は
カウントのみ の オプションのある Grep.exe があります
  -c, --count  only print a count of matching lines per FILE
このあと、集計する必要がありますが
r.TXT:0
y.TXT:1
などと 出てきます。

Cygwin で便利!
http://shooting-star.myhome.cx/cygwin/

[ ]
RE:04485 Grepで検索結果用のウィンドウをNo.04487
Iranoan さん 04/09/22 17:25
 
 パキラさん今日は、Iranoan です。
> Grep文を実行する度に検索結果用のウィンドウが
> 開いてしまうので非常に鬱陶しいのです。
>
> Grep文にはIconオプションを指定していますが、
> ウィンドウが一度表示されてから最小化されるので
> あまり変わりませんでした。
 次の要領で如何でしょう?
#main = hidemaruhandle( 0 );
openfile "/h";
#grep;
showwindow 0;
grep $s, $file, $dir;
message str( result );
setactivehidemaru #main;
closehidemaru #grep;

[ ]
RE:04487 Grepで検索結果用のウィンドウをNo.04488
アルビレオ さん 04/09/23 01:51
 
秀丸ユーザーのアルビレオです。

/g オプションを使うともうちょっとシンプルになります。

if( rightstr( $dir, 1 ) != "\\" ) $dir = $dir + "\\";
#main = hidemaruhandle( 0 );
openfile "/g,\"" + $dir + $file + "\"," + $s;
#grep = hidemaruhandle( 0 );
message str( linecount2-1 );
setactivehidemaru #main;
closehidemaru #grep;

大文字小文字の区別や正規表現を指定したいときは、秀丸ヘルプの「秀丸起動時
のオプション」の /g の説明を見てください。

[ ]
RE:04488 Grepで検索結果用のウィンドウをNo.04489
Iranoan さん 04/09/23 18:55
 
 アルビレオさん今日は、Iranoan です。
> /g オプションを使うともうちょっとシンプルになります。
 検索するのが一度だけならその通りですが、
> ループ内で検索する単語を切り替えてGrepし、
との事だったので、開くウィンドウは一つだけにしておいて、後は selectall,
delete, clearupdated を組み合わせた方が安全だと考えました。NT 系なら何
度ウィンドウを開く、閉じるを繰り返しても問題ないですが、95 系だと...。
具体的には、末尾の要領です。
#main = hidemaruhandle( 0 );
openfile "/h";
#grep = hidemaruhandle( 0 );
showwindow 0;
call Grep "文字列", "ファイルの種類", "ディレクトリ", ##return;
//以下、検索単語分繰り返す
message str( ##return );
setactivehidemaru #main;
closehidemaru #grep;
endmacro;

Grep:
  grep $$1, $$2, $$3;
  ##num = ##4 + result;
  selectall;
  delete;
  clearupdated;
  return ##num;

[ ]
RE:04489 Grepで検索結果用のウィンドウをNo.04490
パキラ さん 04/09/24 11:03
 
みなさん、お早うございます。

今回はIranoanさんのコードを参考に自作マクロを修正しました、
お陰さまでgrepウィンドウに悩まされることもなくなりました。
また、アルビレオさんのアドバイスのように/gと/hオプションを
つけてgrepしても期待通りの動作をすることを確認できました。

>>ENCODINGSHIFTJISさん
Linuxの勉強をしようと思ってCygwinはインストールしてあるのですが、
全然勉強できていません(汗 次回はこちらにも挑戦してみようと思います。

みなさん、貴重なアドバイスをどうもありがとうございました。

[ ]