解压并删除tar(或tar.gz)

时间:2014-03-07 13:23:15

标签: shell unix sh tar gz

我这里有这个小代码

for i in *.tar.gz; 
   do tar xzvf $i;
done && find . -name "*.tar.gz" -exec rm {} \; 

现在,当我有多个tars时,它将首先取消所有这些,然后删除tar文件。

如何更改代码以解压缩文件,删除它然后转移到下一个tar文件?

提前致谢

2 个答案:

答案 0 :(得分:8)

for file in *.tar.gz; do tar xzvf "${file}" && rm "${file}"; done

不要忘记引用您的变量来考虑带有空格的时髦文件名。

答案 1 :(得分:2)

只需更改操作顺序:

for i in *.tar.gz; do
  tar xzvf "$i" && rm -r "$i"
done