grep:検索でのヒット数を知る方法は?No.21757
藤四郎 さん 06/09/13 13:39
 
 秀丸5.18を使用しています。
 grep検索の実施中に逐次ヒット数が表示されますが、検索終了と同時
に消えてしまうため最終的なヒット数を確認することができません。最
終的なヒット数を知る方法があれば教えてください。

[ ]
RE:21757 grep:検索でのヒット数を知る方No.21758
Iranoan さん 06/09/13 13:55
 
 藤四郎さん今日は、Iranoan です。
 念の為お断りしておくと、開発者とは何の関わりも無い単なる一ユーザです。
>  grep検索の実施中に逐次ヒット数が表示されますが、検索終了と同時
> に消えてしまうため最終的なヒット数を確認することができません。最
> 終的なヒット数を知る方法があれば教えてください。
 出力結果のウィンドウで、「その他」→「ファイルタイプ別の設定」→「体
裁」→「行番号の計算方法」が「エディタ的」になっていれば、総行数-1 が
ヒット数です。もし行番号が非表示なら、「行番号表示」(標準なら [F12])
等で表示できます。

[ ]
RE:21758 grep:検索でのヒット数を知る方No.21759
藤四郎 さん 06/09/13 14:35
 
 Iranoanさん、いつも初歩的な質問に回答していただきありがとうござ
います。
 ご説明でよく分かりました。

> 出力結果のウィンドウで、「その他」→「ファイルタイプ別の設
>定」→「体裁」→「行番号の計算方法」が「エディタ的」になってい
>れば、総行数-1 がヒット数です。もし行番号が非表示なら、「行番号
>表示」(標準なら [F12]) 等で表示できます。

[ ]
RE:21759 grep:検索でのヒット数を知る方No.21760
きいろいまふらあ さん 06/09/13 14:59
 
GREP中に表示されている数を知りたいということであれば、Iranoanさんが述べ
られた通りと思いますが、この場合、ヒットした文字列が1行に複数個ある場合、
これら全体で1とカウントされています(おそらくGREP中の表示とも)。

なので、もし本当に知りたいのが「ヒットした文字列」の個数なのであれば、別
の方法が必要と思います。

ここのライブラリに単語の個数を数えるマクロなどが登録されているのではない
かと思います。

#Iranoanさんの説明が間違っているとかいうことではありません。

[ ]
RE:21760 grep:検索でのヒット数を知る方No.21762
藤四郎 さん 06/09/13 17:42
 
 きいろいまふらあさん、コメントありがとうございます。

 私が知りたかったのは「ヒットした文字列の個数」です。確かに検索
結果をよく見ると1つの行番号に複数の検索文字列を含むものがありま
した。質問が言葉たらずだったようで、お詫びします。

>ここのライブラリに単語の個数を数えるマクロなどが登録されている
>のではないかと思います。

 Count_and_Graph.macというマクロで計数できました。

 また便法として、「置換」を利用すると置換個数が表示されるのでマ
クロを使わずに計数できることが分かりました。grep検索中に表示され
るボックスを終了後にも残せるオプションがあれば便利なのですが。

[ ]
RE:21762 grep:検索でのヒット数を知る方No.21763
山紫水明 さん 06/09/13 18:17
 
 藤四郎さん,

 通常のグレップのかわりに次のようなマクロを使うと,少しは手間が省けるか
もしれません。
 ただし,(現在の内容)をグレップするときは,通常のグレップを行った直後
の結果画面上でこのマクロを実行します。

//---- GrepCount.mac -----------------------------------------//
if( filetype != "grep" ) {
    grepdialog;
    if( result < 0 ) quit;
}
gofiletop;
setsearch searchbuffer, searchoption;
disabledraw;
while( 1 ) {
    finddown2;
    if( !result ) break;
    #i = #i + 1;
}
message "検索語:" + searchbuffer + "\n" + str(linecount2 - 1)
    + "行\n" + str(#i) + "個";
endmacro;
//--------------------------------------------------------//

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

[ ]
RE:21763 grep:検索でのヒット数を知る方No.21764
藤四郎 さん 06/09/13 20:04
 
山紫水明さん、

 ご案内のマクロを試してみたところ、まさに理想的な結果でした。これを利用させ
ていただきます。ありがとうございました。

>//---- GrepCount.mac -----------------------------------------//
>if( filetype != "grep" ) {
>    grepdialog;
>    if( result < 0 ) quit;
>}
>gofiletop;
>setsearch searchbuffer, searchoption;
>disabledraw;
>while( 1 ) {
>    finddown2;
>    if( !result ) break;
>    #i = #i + 1;
>}
>message "検索語:" + searchbuffer + "\n" + str(linecount2 - 1)
>    + "行\n" + str(#i) + "個";
>endmacro;
>//--------------------------------------------------------//
>
>     では, (^^)/~
>                                        山紫水明(ユーザー)
>                                        SANSHISUIMEI

[ ]
RE:21764 grep:検索でのヒット数を知る方No.21765
山紫水明 さん 06/09/13 20:23
 
 藤四郎さん,

 的を外してなくて幸いでした。
 ところで,マクロの6行目
setsearch searchbuffer, searchoption;
は不要な行でした。削除してください。残しておいても別に害はありませんが。

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

[ ]