grepの検索文字数を増やしていただけないNo.27665
やざき さん 10/02/17 15:29
 
grepでは、1行ごとに2048文字目までしか検索しないようですが、
これをもっと増やすような設定はないでしょうか。

今のところは16000文字くらいあれば作業が進められるのですが、今後もっと増える
可能性もありますので、できる限り大きくしたいと思っています。

ご検討のほどよろしくお願いいたします。

[ ]
RE:27665 grepの検索文字数を増やしていたNo.27672
秀丸担当 さん 10/02/17 17:10
 

>grepでは、1行ごとに2048文字目までしか検索しないようですが、
>これをもっと増やすような設定はないでしょうか。

grepは検索すること自体は2048文字以上でもできて、一行が2048文字を超える位
置にある文字列でもできていますが、grep結果として表示される文字列はおっし
ゃる通る2048文字くらいに切れて表示されてしまっていました。

V7.11の現状でなんとかするとしたら2つ方法があって、1つは安易な方法で、検
索そのものはできているはずなので、タグジャンプ(標準でF10)をするとファイ
ルの該当行を開くと実際のテキストを見ることができるということになると思い
ます。

もう1つは設定で、少々裏技的ですがgrepダイアログで「追加の条件」をONにし
て何らかの条件を指定すると、grepは既存の方式とは違う方法で実行され、grep
結果も2048文字を超えた実際のテキストを結果に表示させることができるように
なる方法もあります。
何らかの追加の条件を指定する必要がありますが、もしC言語の#ifdef等の無効部
分を使われていないとしたら、「#ifdef等の無効部分」「を除く」にしておくと、
ほぼ通常のgrepと変わりない動きで結果は長いものが表示されることになると思
います。
「追加の条件」のON/OFF状態は通常は記憶されないので、記憶させるとしたら[そ
の他]→[動作環境]→[検索]→[検索ダイアログ]→[追加の条件の状態を覚える]に
しておくと覚えるようにもできます。

追加の条件の方法はあまり正規の手段とは言えないかもしれないので、本来であ
れば通常のgrepでも可能なようにできるべきだと思います。
追加の条件の方式は速度が非常に遅く、通常のgrepは高速になっていて、従来の
仕組みを簡単に変えることはできないことがあります。
現在V8.00βを開発中ではありますが、もしやるとしてもすぐできるかどうかわか
らないこともあり、今後の課題とさせていただきます。

[ ]
RE:27672 grepの検索文字数を増やしていたNo.27680
やざき さん 10/02/18 13:33
 
タグジャンプと裏技の両方を使ってうまく対処できそうです。

将来的に標準のgrepでも2048文字目で切らないで全文字出てくれるととてもうれしい
です。

ありがとうございました。


[ ]