ChangeLog収集スクリプトにしたよ (i wrote a tiny zsh script to get Linux kernel 2.6.x ChangeLog)

サーバに無駄なアクセスをしない、という
zsh連番生成をワンライナで書けない悔しさもあるし
車輪を再発明してるかもしれないけど
スクリプト(っていっても、ただのコマンドの羅列)にしました。

#!/bin/zsh

CHANGELOG_2_6="http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6"

wget ${CHANGELOG_2_6}.{0..25}       # to be continued...

wget ${CHANGELOG_2_6}.8.{1..1}
wget ${CHANGELOG_2_6}.11.{1..12}
wget ${CHANGELOG_2_6}.12.{1..6}
wget ${CHANGELOG_2_6}.13.{1..5}
wget ${CHANGELOG_2_6}.14.{1..7}
wget ${CHANGELOG_2_6}.15.{1..7}
wget ${CHANGELOG_2_6}.16.{1..60}
wget ${CHANGELOG_2_6}.17.{1..14}
wget ${CHANGELOG_2_6}.18.{1..8}
wget ${CHANGELOG_2_6}.19.{1..7}
wget ${CHANGELOG_2_6}.20.{1..21}
wget ${CHANGELOG_2_6}.21.{1..7}
wget ${CHANGELOG_2_6}.22.{1..19}
wget ${CHANGELOG_2_6}.23.{1..17}
wget ${CHANGELOG_2_6}.24.{1..6}
wget ${CHANGELOG_2_6}.25.{1..1}     # to be continued...

# to be continued ...


適当にファイルに保存して(仮に getChangeLog にして)

$ source ./getChangeLog

するもよし

$ chmod +x ./getChangeLog
$ ./getChangeLog

するもよし。


あぁ、これくらいのこと、ワンライナで書きたいー。
自分は 2.6だけでいいので、これで満足しました。
あーあと、あれかな、他のバージョン対応とか
update機能とかで既に取得してるファイルは取得しない
みたいなのを if文で -f で検査してほげほげ
ってことができてもいいかも。
ていうか、gitを使えばよいだけ?


zshでエクセレントな書き方があったら、おしえてください><
ワイルドカードとか正規表現とか)

追記

wgetの -R とか -A とかのオプション指定だけで
同じことできたかも?