まず、ファイル名が「1.html, 2.html, ..., 9.html, 10.html, 11.html, ..., 100.html, 101.html, ...」という具合の連番になっていたのを、「001.html, 002.html, ..., 009.html, 010.html, 011.html, ..., 100.html, 101.html, ...」と、桁を揃えた正しい連番にリネームしておくべきだったということ。これは、catコマンドで合成したときにファイル名順になるからで、リネームしておかないと1、10、101、102、103、...、199、2、20、201、202、…みたいな変な順番になってしまうからだ。もっともこれは、MT形式でのインポートが済んだ後ではちゃんと日付順にソートされるので最終的には問題はない。ただ、目視でテキストを点検しているときに、日付順が狂っているのがやりにくかったとので、下処理はちゃんとしておくべきだったなと。
次に、コマンドはcat 1.html *.html > combined.txtのようにワイルドカード.*を使ったわけだけれど、このとき合成先のトップの1.htmlの内容が重複することに気がつかなかった。つまり、ワイルドカードで1.htmlも合成ファイルとして指定されてしまうわけだ。だから、正しくは、合成先のファイルを空白のhtmlにするかtxtにすべきだったなと思う。
ただ、こういう仕様の場合、いったん改行マークをなにか特徴のある(本文中では絶対に使われていない)文字列(たとえばギリシア文字)に一括置換しておいてその中から特徴的なブレイクだけ改行マークに再変換することで、うまい具合にワイルドカードで望む文字列をヒットさせることができる。それがわかっているだけに、geditのプラグインがうまく使えないのがもどかしくて仕方ない。
そういうものとして、以前、Quantaに付随する(単独でもインストールできる)KFileReplaceというバッチ処理型のツールを利用したことがあった。今回もそれを使ってもよかったのだけれど、先に試したBluefishに、「開いている全てのファイル」を対象にするオプションがあるのに気がついていた。オフィシャルページに行ってみると、「難なく500以上の文書を開けます」と書いてある。そこで、100以上あるファイルを一気に開いてみると、あっさりと開けた。そして、<body>..*</body>で指定すると、各文書の内容がほとんど一瞬で引っ越し案内に置き換わった。
【関連する記事】
- 息子のLINEのアカウントを消してしまった
- Ubuntu 18.04 をインストールした
- bookletimposerは使えるかも
- PlayonLinuxで再びハマる
- Unityに逃げた
- Ubuntu 17.10 をインストールした
- 中学生にUbuntuは、ありか、なしか?
- 久々のDell - Vostro 14 3458に乗り換え
- Windows 10アップグレード騒動
- Ubuntu 16.04 Xenial Xerusのインストールでハマる
- HPのPavilionにUbuntu 16.04をインストールした
- Kdenliveで字幕入れ - その2
- Ubuntu 15.04にアップグレードした
- mineoでスマホを使っている - その2
- mineoでスマホを使っている
- MinecraftもどきのMinetestに息子がはまった
- Trusty Tahr(Ubuntu 14.04)の印象
- 新しいマシン、新しいUbuntu
- いまさらながらにGoogleのナビが便利
- いまさらながらに初期のXperiaを買った