大容量ファイルのgrepについて質問です。No.40863
bs200017 さん 23/10/16 15:18
 

はじめて利用させていただきます。

ヘルプやネットを探してみてもどうしても解決しなかったため質問させてください。

大容量のファイルを開いた際、ファイルの一部を開くダイアログが出て読み込む範囲
を指定してファイルを開いています。

この状態で、grep の実行を選択し、検索するファイルに( 現在の内容 ) を指定し実
行した際、読み込んだ範囲内でしか grep をしてくれません。

現在の内容という指定からすれば、正しい動作だとは思うのですが、大容量ファイル
でも現在開いているファイルを対象に 全範囲 grep を行いたいです。なにか簡単に
現在開いているファイルを指定する方法がありましたらご教示願いたいです。
今は手動で、検索するファイルに対象ファイル名をコピーしていますが、少々面倒に
思っています。

以前はこの辺何も考えず 開いたファイルに対して全範囲 grep できており大変重宝
しておりましたが、PC入れ替えをし、開いたファイルのgrep ができなくなってしま
い、何か設定があるのではと思い質問をさせていただきました。

[ ]
RE:40863 大容量ファイルのgrepについて質No.40865
秀丸担当 さん 23/10/16 15:50
 
ファイルの一部を開いた状態の、(現在の内容)でのgrepは、確かにその部分となる場
合とファイル全体となる場合がありました。
この動作の違いは、編集して未保存状態かどうかによって違っていました。

ファイルの一部でない通常の場合だとわかりやすいですが、例えばすべて選択して削
除して、全く別の内容を貼り付けた状態だと、言葉通りの現在の内容が対象になりま
す。
ファイルの一部の場合は、編集しているとその部分になっていました。
以前からそうでした。
今後のバージョンで、そのときに何か警告を出すか検討します。

現状でどうにかするには、幾つか方法が考えらえますが、見るだけのために使う場合、
ファイルの一部を開くダイアログで、[上書き禁止モードにする]をONにして開くとい
いです。

または、grepダイアログの検索するファイルに、自分のファイル名そのままを指定す
るといいです。
履歴の一番下か、右側の[>]か、どちらでもいいですが[(開いているファイル全て)]
を選ぶ方法もあります。
開いているファイルが1つだけであれば、自動的に開いている1つのファイルだけが
対象ということになります。

[ ]
RE:40865 大容量ファイルのgrepについて質No.40866
bs200017 さん 23/10/16 18:56
 

コメントありがとうございます。

挙動についてのご説明ありがとうございます。

差し出がましいようで大変恐縮ではあるのですが、今後のバージョンアップでgrep対
象の選択肢の中に [現在開いているファイル] という選択肢もあればよいのではな
いかと思いました。

いずれにせよ、ご対応ありがとうございました。

[ ]
RE:40866 大容量ファイルのgrepについて質No.40867
秀丸担当 さん 23/10/17 09:22
 
[現在開いているファイル]という選択肢もあったらいいです。
ご意見参考にさせていただきます。
あるいは、右側の[>]ボタンから現在のファイル名を簡単に入力する方法があっても
いいかもしれません。
少なくとも今回の組み合わせの操作では、メッセージを出すようにします。
メッセージで選択肢を出して、このまま続行するか、ファイルを対象として続行する
かの選択肢を出すようにしようと思います。

[ ]