我有一个文件夹中的大约200,000个大拇指,都是以.tar.gz结尾的gzip结尾 我想要做的是提取该文件夹中的所有文件,不同文件夹。有谁知道一个命令来做到这一点?我在网上发现了这个,但我不知道如何使用它来提取到不同的文件夹。Ubuntu的提取多个.tar.gz文件到新的目录
for i in *.tar.gz; do tar -xvzf $i; done
我有一个文件夹中的大约200,000个大拇指,都是以.tar.gz结尾的gzip结尾 我想要做的是提取该文件夹中的所有文件,不同文件夹。有谁知道一个命令来做到这一点?我在网上发现了这个,但我不知道如何使用它来提取到不同的文件夹。Ubuntu的提取多个.tar.gz文件到新的目录
for i in *.tar.gz; do tar -xvzf $i; done
添加-C
选项来选择目标目录:
for i in *.tar.gz; do tar xvzf $i -C path/to/output/directory; done
似乎工作,谢谢。 – chris 2011-03-03 07:25:36
actdir=`pwd`
for files in *tar.gz ; do
filedir=`basename $files .tar.gz`
mkdir $filedir
cd $filedir
tar -xzf ../$files
cd $actdir
done
HTH
令我印象深刻的是,tar没有自动创建文件夹的选项。感谢您的脚本,非常有帮助。 – 2015-10-14 18:23:50
现在你正在使用
tar
提取所有文件。我相信你可以设置输出到哪个目录。
这将是这样的:
for i in *.tar.gz; do tar -xvzf $i -C directory; done
其中directory是您想将文件解压到文件夹的路径。
请参阅http://www.computerhope.com/unix/utar.htm(关于tar的文档)。
-C选项可能会更好。你也可以这样做:
$的mkdir /路径/到/ newfolder
$因我与* .tar.gz; do files =“$ files $(readlink -f $ i)”; done#建立绝对文件名列表
$ cd/path/to/newfolder
$ for i in $ files;做tar -zxvf $ i;完成
这与编程有关吗? – 2011-03-03 07:18:48
不知道,但我在这里发现类似的问题,所以我想我会问,因为这里有很多的知识。 – chris 2011-03-03 07:21:53
任何与您类似的问题都将被删除或关闭/迁移。 – 2011-03-03 07:22:30