我这里有这个小代码
for i in *.tar.gz;
do tar xzvf $i;
done && find . -name "*.tar.gz" -exec rm {} \;
现在,当我有多个tars时,它将首先取消所有这些,然后删除tar文件。
如何更改代码以解压缩文件,删除它然后转移到下一个tar文件?
提前致谢
答案 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