昨日に引き続き,リンク切れの修正についてです。
現状,マークダウンファイル同士が相対パスで参照されているのが厄介なので,絶対パスで固定してやればうまくいきそうだったのでシェルを作ってリンクを全部絶対パスに置換してやりました。
# 全マークダウンファイルのblogディレクトリからの相対パス+ファイル名を取得
grep -l "title:" blog/*/*/* \
| sed -e 's:blog::' -e 's:.md:/:' \
> title.txt
# 全マークダウンファイルに対して処理を繰り返す
cat title.txt | \
while read -r line;
do
# マークダウンファイル名を抽出
serchStr=`echo ${line} | cut -f 4 -d "/"`
# 抽出したマークダウンファイル名が含まれる記事を抽出
grep -l -i ${serchStr} ./blog/*/*/* > tmp.txt
cat tmp.txt | \
while read -r file;
do
# リンクを相対パスから絶対パスへ
sed -i -e "s:(../:(:g" ${file}
sed -i -e "s:${serchStr}:${line}:g" ${file}
rm ./blog/*/*/*-e
done
done
ぶぇー疲れた。
これくらいのシェルならちゃちゃっと作れるようになりたい。。。
それではまた明日。