(2010-05-24 17:48:46)
由于linux的tar命令不支持批量解压,所以很多网友编写了好多支持批量解压的shell命令,收集了一下,供大家分享:
第一:
for tar in *.tar.gz;
for tar in *.tar.bz2; do tar xvf $tar; done
第二:用tar命令批量解压某个文件夹下所有的tar.gz文件
ls *.tar.gz | xargs -n1 tar xzvf
第三:find -maxdepth 1 -name "*.bz2"|xargs -i tar xvjf {}
这条命令可解压当前目录下的所有bz2文件
批量解压是比较郁闷的事,以前尝试各种方法,甚至用脚本循环语句解压都不行
现在发现这条命令可以搞定,maxdepth表示搜索深度,1代表只搜索当前目录
第四:for 问题:
我想进行批量解压tar文件,使用tar
回答:
通配符是shell解决的问题
如
tar
实际上执行tar时,tar接收到的是
tar
如果当前目录跟本没有tar的东西,那么tar就收到'*.tar'这个参数
与win不同,linux所有字符都可以作文件名,也即目录中不存在着
为了防止
可以给它加个单引号
用tar解开一个Archive时,语法是
tar
<tarfile.tar>
先别跟我急,我知道,这些你是清楚的。但是,你的问题是,用了
tar
如楼上所说,tar接收到的是
tar
tar把你的意图理解为,在a.tar里解出b