うまいぼうぶろぐ

linuxとhttpdとperlのメモ

foreachを使って複数のtar.gzファイルを一気に展開する方法

zshのforeachを使う。bashのforでもいいけど。
ソースをまとめて取ってきた場合とか、とりあえず全部展開しようとして

$ tar zxvf *.tar.gz

ってやるとtarに文句を言われてしまう。だからってちまちま展開するのは面倒な場合などに。

やり方

基本的にperlとかと一緒ですね。

foreach 変数名 (リスト)

っていう形。バッククォートの展開を利用してリストに放り込めば良いっぽい。

$ foreach FILE (`ls *.tar.gz`)
foreach> tar zxvf $FILE
fofeach> end