Request/487

http://sakura.qp.land.to/?Request%2F487


Top > Request > 487

条件にHitした行を高速削除

  • ページ: Request
  • 投稿者: anonymous
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: 検索
  • 投稿日: 2014-09-21 (日) 21:12:54
  • バージョン:

メッセージ

置換ダイアログのオプションに「該当行を削除」を追加して、Hitした行を高速に削除できてほしい。

現時点、条件該当行の削除処理には正規表現を使う必要がある。また行のきわめて多いファイルでは、行の削除処理に指数関数的に時間がかかる。 高速に処理したければ、sedなどの外部ツールで処理したり、サクラでgrep抽出したりがあるが、前者は正規表現書式が異なり、後者は論理が逆になるためいまいち。

行の削除に特化して、先に該当行を検索し、必要行のみ抽出構成し、不要行を一括して処理すれば早くなりそうだが、如何か?


  • 追記: マクロ用関数では、検索条件を通常のStringの他、Arrayで与えられると便利だがどうか。 -- Requester? 2014-09-21 (日) 21:31:08
  • 1.検索ダイアログで[該当行マーク]をする。2.全選択。3.ブックマークの設定・解除で反転する4.ブックマーク一覧を表示してコピー(ただし前後のスペースが消える) -- 2014-09-22 (月) 00:35:23
  • もし2.1.1.0以上を試してないなら一度使ってみてください。「^.*ab.*\n」とかでの行削除も速くなっています -- 2014-09-22 (月) 00:45:25
  • 2.1.1.3使用中です。確かにそれくらいの頃にある程度高速化した気はしますが…現時点で最適化済みと言うことでしょうか。(マーク使用技は対象が大きすぎると選択だけで遅いです) -- Requestor? 2014-09-22 (月) 22:56:37
  • もしステータスバーをByte表示にしていない場合で全選択が遅い場合はメモリ不足かも。(何MBのファイルを何GBのメモリで?)行削除を実装しても遅いままだと思います。Grepでマッチしない行の検索を追加したほうがパフォーマンスは良さそう -- 2014-09-23 (火) 02:04:38
  • ^.*moziretu.*\r\nのような.*が2つ以上ある正規表現はマッチしない時に遅いようなので、行削除機能追加で改善する可能性もあるにはあります -- 2014-09-23 (火) 02:25:21
  • あとRedo/Undoを無効にすることでメモリ使用量=>パフォーマンスの改善が可能かも -- 2014-09-23 (火) 02:30:34
  • upld:113/sakura2-1-1-3r3817_linedelete_v1.zip行削除実装テスト(置換ダイアログ→置換対象:行削除)。ヒットした文字列を含む行を削除する機能を追加 -- もか? 2014-09-23 (火) 04:17:05
  • 早速ありがとうございます。効果のほどは明日にでも報告します。対象は100〜200MB程の時刻付きログデータで、メモリ4GB(実質3GB)のWin7 32bit環境で処理しています。抽出キーワードは確かに.*で挟まれています。 -- Requestor? 2014-09-23 (火) 22:40:48
  • 行削除モードでは通常なら「^.*ab.*\n」→「ab」のように指定してください -- 2014-09-23 (火) 23:37:05
  • upld:115/sakura2-1-1-3_r3817_grep_nohit_v0_1.zipGrep否定行テスト -- もか? 2014-09-24 (水) 00:35:44
  • 上げていただいた物でテストしました。117MB,230万行のファイルでの一部行削除処理、v2.1.1.3元で約21秒に対して、linedeleteは正規表現ありで約6秒、正規表現なし単語のみでは約4秒でした。Grep否定の方も5秒程度(リアルタイム表示なしで)と、ほぼGNU sed v4.2.1同等の早さになりました。 -- Requestor? 2014-09-24 (水) 21:32:27
  • (続) 作業のシームレスさで linedelete仕様が好みですが、Grep否定行仕様が応用利きそうで、どちらもあってよさそうです。ありがとうございました。 -- Requestor? 2014-09-24 (水) 21:37:29
  • upatchid:882 upatchid:883 -- 2014-11-25 (火) 01:54:56
  • sakura 2.2.0.0 svn:3931 svn:3932 -- 2015-02-24 (火) 19:41:12

URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White
[添付ファイル一覧] [全ページの添付ファイル一覧]
アップロード可能最大ファイルサイズは 2,048KB です。

リロード   新規 編集 凍結 差分 添付 複製 名前変更   ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: 2015-02-24 (火) 19:41:39 (1150d)