複数ファイルの全内容置換:textSS.net
- (2023-10-20 06:09:28)
サイト閉鎖のためテキスト一括編集ソフト
あるサイトの閉鎖のため「index.html」ファイル以外の全htmlファイルに特定URLへのmeta refreshリダイレクトを書き込みたいと考えた。
ファイル名とフォルダー構造を維持して同じ内容のテキストファイルを自動生成する秀丸マクロか、あるいは複数のテキストファイル一括編集ソフトでやるかと考えた。
今回は正規表現が使える一括編集ソフトなら何とかなるのでは?・・でバリバリに正規表現が使えるソフトとして「textSS.net」を使用した。
htaccessによるリダイレクト
Webページのリダイレクトはmeta freshより.htaccessで行った方がよいとGoogleは言っているし、その方がスマートだが、ちょっと心配な事情があり今回はこれで・・
textSS.netにお世話になります
このソフトは以前一度使用して、ごちゃごちゃしたわかりにくい印象を抱いたが、それだけできることが多いということ。この記事も記録していた:
複数ファイルの正規表現一括変換 TextSS.net
操作性や操作画面は今風ではなく今風デザインでもないが作り込まれた凄いソフトだった。
今回も再度お世話になろうとダウンロードページに行くと、なんと昨年2022年に新版がリリースされていた。
20年も開発が継続されていることに感心した。
FAQを読むとプログラムを書けないボクには感謝の言葉しかなかった:
「今回の20年ぶりのリニューアルは年齢的にプログラマー全盛期と違って徐々にプログラムを作ることが減ってきましたが、やっぱりプログラムは面白いのでスキルアップを兼ねて開発しました。私も20歳年老いましたが・・」
実際のやり方
複数ファイルの一括編集ソフトはいろいろあるが、ある文字列を他の文字列で置換することを想定している。
今回はファイル上の全文字列を消去して別の固定文字列を入れるという動作。
全文字列の選択を正規表現なら「.+」でできないかと思ったが、改行までの1ラインしかヒットしない模様。
ならば「\n」(改行コード)をすべて消去し中身を1ラインの文字列にし、その上で「.+」を特定文字列で置換するという2段階で行けるのでは?と考えた。
textSS.netでの操作:
(1) 全htmlファイルを登録
(2) (1回目の置換)「\n」(改行コード)をすべて消去し中身を1ラインの文字列に整形
(3) (2回目の置換)「.+」(すべての文字列)を特定文字列で全置換
・・多数のファイルが一瞬で同じ内容になった。
もっとスマートな方法があるかもしれないが、ボクには思いつかなかった。