リンク切れ修正②

2021/02/12

昨日に引き続き,リンク切れの修正についてです。

現状,マークダウンファイル同士が相対パスで参照されているのが厄介なので,絶対パスで固定してやればうまくいきそうだったのでシェルを作ってリンクを全部絶対パスに置換してやりました。

# 全マークダウンファイルの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

ぶぇー疲れた。
これくらいのシェルならちゃちゃっと作れるようになりたい。。。

それではまた明日。


書いた人: こへ
音楽と漫画と読書とアニメとスノボが好き。多趣味でいろんなことに興味有ります。 誰しもが一度は使った事があるもののIoT開発をしてます。
Twitterフォローお願いします。