ハマログ

株式会社イーツー・インフォの社員ブログ

TextWranglerと正規表現で大量ファイルを一括置換

大量のHTMLファイル内に記述されたjsのパスを一括で置換したくなりました。

自分への覚書としてブログに書いておきます。

変換パターンは以下のような感じです。

./1109815472_files/analytics.js -> ../js/analytics.js
./1109815472_files/window.js -> ../js/window.js
./1109815472_files/font.js -> ../js/font.js
./1109815472_files/common.js -> ../js/common.js

ちなみに「1109815472_files」の所はファイル毎に異なります。

最初CotEditorで1ファイルで試してみました。

正規表現&キャプチャを使って以下の感じでやったらできました。

ただ、何十とあるファイルを1つ1つやっていくのは面倒です。

CotEditorでは複数ファイル同時に一括置換はできなそうでしたので、他の方法を探してみました。

素敵エンジニアはコマンドラインでfindとかsedとかパイプ(|)とか使ってエレガントにやってしまうのでしょうが、簡単に日和ってしまいまして今回はAppStoreからフリーで入手できるTextWranglerを使ってみました。

まず「Multi-File Search」を選びます。

一括置換したいファイルがあるディレクトリを指定して、検索用の正規表現と置換文字を入力します。「grep」にチェックを忘れずに。

あとキャプチャ文字はCotEditorでは$1なんですが、TextWranglerでは\1でした。

おかげで最初は全てが../js/$1に置換されてしまいました。

Mac使ってる人は社内には(協力会社の方を除き)自分しかいなくなってしまったんですけどね。

TextWrangler正規表現

  Shin.A   2017年11月16日


関連記事

Eclipseプロジェクト・ファセットの動的Webモジュールのバージョンをダウングレードする

ローカル環境構築に伴い、プロジェクト・ファセットの動的Webモジュールのバージョ…

LINE Messaging APIのテスト(はじめに)

LINE Messaging APIを試してみました。 https://busi…

中国市場のマーケティングは微信(WeChat)(WeiXin)がないと成り立たない!

中国Tencent(騰訊)が独自で作ったWeChatというメッセージアプリで、2…


← 前の投稿

次の投稿 →