東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

はてなキーワードへのリンクを削除した記録


スポンサードリンク

このブログの記事をメンテしているなかで、はてなキーワードへのリンクが目立ちました。

はてなブログの無料版は自動ではてなキーワードへのリンクがありまして、それは仕方ないです。しかし、記事そのものにはてなキーワードへのリンクがあるのです。

他の記事からエクスポートして、このブログにインポートしている記事があるので、それが悪さしていました。

この記事では、どのようにはてなキーワードを削除したかの手順を記録としてまとめています。

使用するツール

例によって、blogsyncを使用します。ブログの記事はローカルにPULLしている状態となっています。

github.com

手順

gitで管理

以下のようにgitで管理するようにファイルを全て登録します。gitで管理すると、間違えた変更をすぐにもとに戻せるというのが利点です。

# git init
# git add .

文字列置換

以下のコマンドで文字列置換を行いました。

find ./ -type f -name \*.md | xargs perl -pe 's/<a class=\"keyword\" href=\"[^\"]+\">(.*?)<\/a>/$1/g;' -i

ポイントは、perlを使用していることです。当初はsedを使用しようと、試行錯誤しました。しかし、なかなか思うような結果が出ませんでした。

そこで、以下の記事を参考にperlで試したとこと、あっさりうまくいきました。また、sedで実施するより、perlの方が処理速度が早いと感じました。

qiita.com

また、ファイルの書き換えとなるオプション-iは一番最後につけています。

差分比較

差分は160ぐらいありました。

git diffだと差分の量がが多くて比較しにくかったので、winmergeで比較しました。

catで全てのファイルを変更前と変更後の合計2回取得して、それをwinmergeで比較しました。

はてなブログの更新

更新したファイルだけをblogsyncでPUSHして、はてなブログを更新しました。

ほんとはcommitしてから更新が良いのですが、更新ファイルだけpushというのができないようなので。

git diff --name-only | xargs -n1 ./blogsync push 

commit

比較して問題ないことを確認して、commitしました。

git commit -m 'remove hatena keyword'

初めてのPerl 第7版

初めてのPerl 第7版