Macでテキストの検索&置換を複数セット、一気にやる方法【mi編】

Mac

文章を書き終わって、特定の文字列を
一気に別の文字列に置き換える「検索置換」

テキストエディタを使う理由の一つにもなっている、
便利な機能ですよね。

特にルーティンの仕事だと、
いつも特定の文字列を置き換える
ようなケースもあったりしませんか?

たまたまそんな書類をいくつか抱えたので、
検索&置換の複数セットを一気にこなせる方法を探してみました。

スポンサーリンク

一括置換ができるMacのテキストエディタ

Macにはいくつか優秀なテキストエディタがありますが、
その中でも2019年3月9日現在で一括置換ができるエディタは
(調べた範囲では)mi と CotEditor と Jedit でした。

Jeditは有料のシェアウェアなので、
今回はフリーで使えるmiを使用します。

※Jeditは確かに有料ですが、無料版も出てる模様。
詳しくは後述「おまけ」で

miはこちらから無料でダウンロードできます。
リンク mi – テキストエディタ

miで複数の検索&置換をする方法

一括置換をするためには、まず下準備がいります。
大まかな流れは以下の通りです。

  1. 検索置換の設定ファイルを作る
  2. 文章を選択する
  3. 設定ファイルと置換方法を指定して一括置換する

以下、詳しく見ていきます。

1. 検索置換の設定ファイルを作る

まず検索語句と置換語句の指定をしなければなりません。
通常の検索置換は、
検索欄と置換欄に分かれたフォームにそれぞれ入力します。

miで一括置換する場合、テキストファイルに次のように指定します。

一行目(奇数行):検索文字列
二行目(偶数行):置換文字列

ここでは例として、句読点および感嘆符等の部分で改行をするように、
以下のようなファイルを作ります。

設定ファイルの例
、
、\r

、で改行します。

。
。\r\r

。で2回改行します。(空白行にする)

?
?\r\r

?の後で改行を2回します。

![^」] 
!\r\r

!が使われていたら、そこで2回改行します。
ただし!のあとに」が来てたら改行しません。

つまり「うっ…!」のような記述を

「うっ…!

と分割しないようにしています。

正規表現の「^」は行頭という意味で使うことが多いですが、
[ ]の中で使うと「〜以外」という意味になります。参考 サルにもわかる正規表現入門

2. 文章を選択する

設定ファイルを用意したら、検索&置換をかけたい部分を選択します。
文章全部なら、Command + A で一発選択できます。

3. 設定ファイルを指定して一括置換する

一括置換する画面の出し方は、メニューバーの「検索」から

検索/置換ダイアログを表示

を選びます。(画像クリックで拡大)

mi検索置換ダイアログを表示
ショートカットを使う場合は、Command + FF と、
普通にコマンドFしてから更にそのままもう一回、Fを押します。

↑単に Command + F しただけだと、
上の方に並んでるパネルの検索欄にフォーカス行っちゃうので。

検索/置換ダイアログを表示したら、
まずは検索オプションを確認します。

色々とオプションがあるので、必要に応じて
チェックを入れたり外したりしてください。

今回は正規表現を使いますので、正規表現にチェックを入れます。
(クリックで画像拡大)

mi検索置換ダイアログ

検索オプションの必要箇所にチェックをしたら、
下の「特殊な検索」にある「一括置換」ボタンをクリックして、
一番最初に作った設定ファイルを指定してください。

で、指定するためにファイル名をダブルクリックしたり、
ファイル名を選択後「開く」だけで一括置換が完了します。

mi複数一括置換

定義ファイルこしらえるのはちょっと面倒くさいとは思いますが、
一度設定ファイルを作ってしまえばあとはずーっとラクです。

Jeditだったらもっとわかりやすくてラクなのかもしれませんが、
テキストエディタにお金かけてられない人はmiを使ってやってみてくださいね。

リンク mi – テキストエディタ

リンク サルにもわかる正規表現入門

おまけ1:Jeditにいつの間にか基本機能の解放されたフリー版が出てた!

今リンク張るためにJedit公式に訪れたら、
最新バージョンの「Jedit Ω」なるものが今年の8月にリリースされてたんですね!
(※この記事を最初に執筆したのは2017年です)

しかも1,200円かぁ、安くなったな!!

その上その上、無料でダウンロードできて
プロ仕様を使いたくなったらライセンス料を払う形式。

今回ご紹介したような複数一括置換は
さすがに無料版だとできませんでした。

でもテキストエディタって人それぞれ好みがあるので、
Jedit のインターフェースや使い勝手がイイ感じだったら
ポロッと買っちゃえ!(´▽`)

リンク Jedit Ω | Artman 21

おまけ2:CotEditorも複数一括検索置換できるようになったぞ!

さらに追記なのですが、
なんとCotEditorもバージョン3.4.0から
複数置換機能が搭載されました!!ヽ(*´∀`)ノ

リンク CotEditor -Text Editor for macOS

Macでテキストの検索&置換を複数セット、一気にやる方法【CotEditor編】
以前こんな記事を書きましたが今回はCotEditorで複数ワードの一括検索置換をする方法です。CotEditorの公式サイトはこちら。リンク CotEditor -Text Editor for macOSダウンロードはMac...

CotEditorの方が定義ファイル作らなくていい分、
敷居は低いですね。

まとめ「大量に処理するならmi、ちょこっとした一括置換はCotEditor」

上記おまけ2で書いたとおり、
CotEditorも一括検索置換機能が搭載されたおかげで、
こんな選択ができるようになりました。

1. 一括検索置換ペアが大量にある場合はmi
2. ちょっとした一括置換ならCotEditor

検索置換って、ただでさえ便利。
それが複数一気にできるだなんて、さらに便利!
おまけに使い分けができるだなんて、
便利というよりパラダイスじゃないっすか!(≧∇≦)

ああもうほんと、開発者の方々に感謝であります(*´∀`*)

ちょー便利なので、ぜひぜひ一度、やってみてくださいね!

Digiprove sealCopyright protected by Digiprove © 2019

コメント

  1. akio ueki より:

    こちらの記事、
    ”Macでテキストの検索&置換を複数セット、一気にやりたい。2017.10.12″

    とても参考になりました。

    早速、自分の環境で試してみたのですが、
    私の操作が間違っているようで
    うまく一括置換ができませんでした。

    アドバイスいただけると助かります。

    ・環境
    MacOS10.14.3
    mi3.0.2

    ・試したこと
    検索置換の設定ファイルを、テキストファイルで作成(UTF-8)

    miでテキストファイルを開き、
    メニューバーの「検索」から
    検索/置換ダイアログを表示

    下の「特殊な検索」にある「一括置換」ボタンをクリックして、
    先述の作った設定ファイルを指定

    ここで検索/置換ダイアログのウィンドウに
    戻ってしまいます。

    「一括置換を実行」のようなボタンがないので
    ウィンドウを閉じるしかないです。

    このあたりの手順が、根本的になにかを
    私が間違えている気がします。

    ネット検索で ”mi 一括置換” などを
    探したのですが、わからなかったので
    アドバイスいただけると助かります。

    よろしくお願いします。

    • Kunipon より:

      こんばんは!
      ご質問の件に関してはちょっと今すぐには検証できないのですが、
      目的はテキストの複数ワードをそれぞれ別のワードに一括置換ということでOKですか?

      実は比較的最近、CotEditorも複数一括置換できるようになったんですよ。
      高機能で使いやすいのに、ありがたいことにフリーで配布されてるエディタです。

      CotEditorの方が別ファイルとか作らなくても同じことできたので、そちらの方がわかりやすいかもしれません。

      もしわからないようでしたらやり方を他のネタより優先的に記事にしますので、おっしゃってくださいね。

      • akio ueki より:

        返信、ありがとうございます。

        目的は
        テキストの複数ワードをそれぞれ別のワードに一括置換ということでOKです。

        単独での置換は検索&置換の項目に入れれば
        出来るのですが、変換したいものが多いので

        予め、変換したいリストを作成して一括変換したいのです。

        私自身、普段はcoteditorを使っている(バージョン3.7.0)ので、
        そちらのほうがありがたいです。

        coteditorを見たら、それっぽい項目(複数置換)というものがあったのですが
        それでしょうか。

        リストを作成しておいて、
        読み込みもできるみたいなので
        記事にして解説いただけると大変、助かります。

        よろしくお願いします。

        • Kunipon より:

          変換が多いのは面倒ですよね〜。
          りょーかいです。
          ちょっと体調との兼ね合いもあるので
          いついつとはお約束できなくて申し訳ないですが、
          近いうちに真っ先に記事にしますね^^
          (ちゃんと私も使い方把握できるといいんだけど笑)

          • akio ueki より:

            丁寧にご返信、いただき
            ありがとうございます。

            教えていただいたcoteditorの複数置換、
            今日はじめて試したのですが、素晴らしいですね!!

            miの設定ファイルのようにテキストでの
            インポートは難しそうですが
            (スクリプトファイルでのエクスポート、インポートでした)

            GUIから設定できるので
            そちらから設定していきました。

            ブログの記事、及び
            返信コメント、感謝いたします。

          • Kunipon より:

            ねー!CotEditor素晴らしすぎますよね〜!
            うわぁ、でもスクリプトファイルかぁ…私にはわからないかも…汗
            でも調べるだけ調べてみて、あとmiの方のやり方もチェックしてみますね^^
            こちらこそコメントありがとうございましたヽ(*´∀`)

    • Kunipon より:

      ものすごく遅くなってしまってすみません。
      今検証しましたが、わかりました!

      「一括置換を実行」ボタンを押さなくても、作成した検索置換用定義ファイルを指定後開くだけで実行されます。

      ここんとこ紛らわしくてわかりづらいのに記事に書いてなくてすみませんでした><
      もうココご覧になってないかもしれませんが、これから記事本文に詳しく書いときますね。

      • akio ueki より:

        検証、ありがとうございます!

        私自身、試したのですが
        「指定後開くだけで実行されてた」ことに気づいてなかったです(苦笑)

        申し訳ございません。

        記事も、動画入りでわかりやすく解説いただき
        助かりました。

        いただいたアドバイスのおかげで
        いまではcotediotrでの複数置換をメインで利用させていただいてます。

        • Kunipon より:

          いえ、おかげさまで私も記事が不親切だったことに気付けました(*´∀`*)

          アレは確かに分かりづらいですよね〜(笑)
          今回の例に挙げた改行みたいに、冒頭からハデに見た目が変わっていたらまだ気付きやすいのですが^^;

          CotEditorの定義ファイル、もし簡単に作れる方法編み出したらまた記事にしますねー(´∇`)