koleben’s blog

モノ・時間・情報からの自由になりたい。スローでイージーな暮らしを目指して

はてなブログへの移行作業はgrepで効率的に、でも最後は手作業でぽちぽち

あけましておめでとうございます。

先日の記事にも書いたように過去ブログをはてなブログに移行しました。

koleben.hatenablog.com

画像の一部ははてなフォトライフへ移行してくれたのもあるのですが、Y!ブログやFlickrの画像は移行してくれませんでした。

画像のリンクが切れてるわけではないんですが、はてなブログhttpsに移行しましたが、Y!ブログは時代柄(?)httpなので混合コンテンツ(Mixed Content)というものになり、ブラウザ警告がでることがあります。なのでどうせですからはてなフォトライフに移行したいと思います。

developers.google.com

ただ移行したブログは合計でなんと400本もあり、ブログをいちいち確認するのはうんざりです。APIでデータを取得できればいいんですが...

MovableTypeにエクスポートして確認

はてなブログにはMT(MovableType)形式でエクスポートする機能がありました。 このメニューからデータをエクスポートします。

設定 > 詳細 > エクスポート:記事のバックアップと製本サービス > エクスポートしなおす > ダウンロードする

ダウンロードしたファイル(このブログではkoleben.hatenablog.com.export.txt)にデータが入ってます。

中身はこんな形式です。

AUTHOR: koleben
TITLE: 2018年の株式資産推移
BASENAME: 2018/12/31/080000
STATUS: Publish
ALLOW COMMENTS: 1
CONVERT BREAKS: 0
DATE: 12/31/2018 08:00:00
CATEGORY: 資産管理
IMAGE: https://cdn-ak.f.st-hatena.com/images/fotolife/k/koleben/20181230/20181230193336.png
-----
BODY:
<p>私の2018年の株式の主要銘柄の推移です。</p>

<p><figure class="figure-image figure-image-fotolife" title="2018年の主要銘柄の推移"><span itemscope itemtype="http://schema.org/Photograph"><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/k/koleben/20181230/20181230193336.png" alt="f:id:koleben:20181230193336p:plain" title="f:id:koleben:20181230193336p:plain" class="hatena-fotolife" itemprop="image"></span><figcaption>2018年の主要銘柄の推移</figcaption></figure></p>

<p>この銘柄は売りも買いもしてませんので、単にこの企業の株価推移です。(銘柄バレるかな?)</p>
〜〜〜

テキスト検索もエディタでぽちぽちするのではなくgrepで一気にしましょう。

「TITLE」と「img src」が入ってる文書を検索してみます。

コマンドラインだとこんな感じです。

grep -e "TITLE:" -e "img src" koleben.hatenablog.com.export.txt 

ここからはてなフォトライフの画像は除外します。

grep -e "TITLE:" -e "img src" koleben.hatenablog.com.export.txt | grep -v "images/fotolife"

これだとTITLEが連続しますので、img srcが見つかった1行前だけ抜き出しましょう。

grep -e "TITLE:" -e "img src" koleben.hatenablog.com.export.txt | grep -v "images/fotolife" | grep -B1 "img src"

amazonのリンクなどの画像がMTデータにあるようでしたら、grep -v を増やせば除外できます。

これで変更対象のブログ記事を抜き出すことができました。

ここからが大変...

年末の休みに入りましたので、この手作業をしました。

ページを表示 > 画像をドラッグ&ドロップ(でダウンロード)、編集画面でドラッグ&ドロップ(でアップロード)をひたすら繰り返し、画像をはてなフォトライフに移行しました。

ブログのアイキャッチ画像のURLは「IMAGE:」です。ここも油断すると更新し忘れちゃうんですよね、結局検証作業で3回ほどデータエクスポートをしました。

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54

覚えて便利 いますぐ使える!シェルスクリプトシンプルレシピ54