linux系统下批量解压方法汇总

来源:互联网 发布:九维网络免费wifi官网 编辑:程序博客网 时间:2024/06/11 21:03
目前在获取大量的tar压缩包中的图片的方法是,选中所有要解压的文件,然后右击鼠标选择提取文件,按照一般的方法友好地解压,不知道这样效率会不会低很多,要是在代码中直接加入自动获取的语句,那么即将节省很多的时间,在网上搜索了一下批量解决解压
方法:
第一:
for tar in *.tar.gz;  do tar xvf $tar; done
for tar in *.tar.bz2; do tar xvf $tar; done

第二:用tar命令批量解压某个文件夹下所有的tar.gz文件
ls *.tar.gz | xargs -n1 tar xzvf

第三:find -maxdepth 1 -name "*.gz"|xargs -i tar xvzf {}
这条命令可解压当前目录下的所有gz文件
批量解压是比较郁闷的事,以前尝试各种方法,甚至用脚本循环语句解压都不行
现在发现这条命令可以搞定,maxdepth表示搜索深度,1代表只搜索当前目录

第四:for i in $(ls *.gz);do tar xvf $i;done

问题:
我想进行批量解压tar文件,使用tar -xvf *.tar会出错,提示“Not found in archive”。解决方法有很多,比如写一个脚本之类的。 请问为什么tar不支持这种通配符语法呢?是否有特殊的原因?我试过gzip就支gzip -d *.tar.gz。
回答:
通配符是shell解决的问题
tar -xvf *.tar
实际上执行tar时,tar接收到的是
tar -xvf a.tar b.tar c.tar ...

参考一:点击打开链接

参考二: 点击打开链接

0 0
原创粉丝点击