2002年02月17日 日曜日
bash,tar備忘録
複数のtar玉を持って来たときに、一気に展開したいときがないだろうか? そんなとき、一つ一つ
$ gzip -d hogehoge01.tar.gz | tar xvf -
$ gzip -d hogehoge02.tar.gz | tar xvf -
$ gzip -d hogehoge03.tar.gz | tar xvf -
$ gzip -d hogehoge04.tar.gz | tar xvf -
...
$ gzip -d hogehoge99.tar.gz | tar xvf -
なんて言うことをやっていないかな? かと言って、シェルのワイルドカードを使って、こんなふうに書いた場合、
$ gzip -d hogehoge*.tar.gz | tar xvf -
は巧くないんだよね。
ということで、そんなときには、forを使おう!こんな感じだ!
$ for i in hogehoge*.tar.gz > do > tar zxvf $i > done
なんてやればよいのね。勉強になりました。他の妙案があったら教えてください。