Grep結果に対する変更を元のファイルに一括反映(一括置換)する秀丸マクロ


Grep結果一括置換の機能は便利だと思いますが、現在マクロライブラリに登録されているものの中に満足できるものが見つからなかったので作りました。

ダウンロード

greplace.mac

正規表現にマッチするファイルを検索するRubyスクリプト の grep モード、および、ヒットした行の前後の行も抽出する機能を組み合わせると、より柔軟に活用できます。

主な特徴

  • 秀丸マクロのみで書かれています
  • 元のファイルの文字コード、改行コード、BOMの有無を変更しません
  • 処理速度が遅いです (100行置換するのに10秒ぐらいかかります)

マクロライブラリにある、同じ機能のマクロとその特徴

  • グレップ結果置換2000/09/05

    • 秀丸マクロのみで作られている
    • (バグ) 置換した行の先頭に半角スペースが入る
    • 処理速度が遅い
  • GRep2002/03/23

    • 秀丸マクロのみで作られている
    • 処理速度が遅い
  • GrepReplace.mac2003/01/08

    • 秀丸マクロのみで作られている
    • (バグ) 処理対象のファイル名を間違えているようで正しく動かない
  • Grep結果一括置換2004/02/02

    • マクロに付属の exe ファイルを実行して置換
    • SJIS のファイルにしか対応していないようで、それ以外だと文字化けする
  • FastGrepReplace 2.50 『grepしてまとめて置換』2010/08/25

    • マクロに付属の変換モジュールを利用して置換
    • (バグ) 私の環境が 64bit だからか、変換モジュールの呼び出しに失敗して動かない
  • Grep結果一括置換 22012/08/19

    • マクロに付属の exe ファイルを実行して置換
    • UTF-8 のファイルを処理すると BOM が付加される
    • 改行コードが常に CR + LF に変換される
    • EOF制御文字があるとエラー
カテゴリー: 記事 タグ: パーマリンク

コメントを残す