265月/050
大量の HTML からリンクされているファイル名をフルパスで抽出する
なんかすげー不毛な作業。
wget が使えれば、そのログからファイル名を拾えたのだが、各ページのリンクに Javascript を使っている特殊なページ群だったので、シェルスクリプトと perl を使ってかなり力技な事をやってみた。
ファイル群をローカルに落とし、 find で HTML のリストを作成
find . -name "*.html" > list-html.txt
テキストエディタで整形して、フルパスにする。
~/hoge/aaa.html → http://www.hoge.com/aaa.html
emacs の矩形置換とかを使えば一発ですね。
HTML からリンクを抽出するツールを用意
OYAMA 氏が非常に便利な perl スクリプトを公開されていたので、そちらを使用。
シェルスクリプトの作成
ここのページ を参考に、シェルスクリプトを作成
#!/bin/sh
for fn in `cat list-html.txt`
do
echo "■" $fn
perl ~/bin/extlink/extlink $fn
echo
done
echo "処理は終了しました。"
作成っていっても、サンプルの 4〜 6 行目を変えただけだけど。
実行
./extlink.sh > result.txt
Tweet
図解の話 »
« パスワードはメモしておくべき?