http://d.hatena.ne.jp/iww/20130705/jd
のやり方だと問題が2点ある
- 過去ログを表示する設定にしていない板では削除されない
- 最近見てない板の過去ログは削除されない
subject.txtを取得して削除するよう改良した
#!/bin/bash BASE=${JD_CACHE:-~/.jd} cd $BASE set -o pipefail for A in $(find ./ -name subject.txt | sort -R); do URL=http://${A#./} DIR=${A%/subject.txt} SUB=`mktemp /tmp/sub.XXXXXXXX` echo check $URL wget -q --timeout=30 -t1 $URL -O- | perl -ple 's/^(.+?)(\.cgi)?[<,].*$/\1/ || exit 1' | sort > $SUB if [ $? -eq 0 ]; then cd $BASE/$DIR ls | diff -u - $SUB | perl -nle 'if(/^-(\d+)(\.dat)?.*$/){ print "$1$2"; unlink "info/$1","info/$1.info","$1$2"; }' else echo ERROR fi rm $SUB done