我在一个文件夹中有大约200,000个拇指,这些拇指都是以.tar.gz结尾的gzip压缩文件 我要做的是提取该文件夹中的所有文件,但提取到另一个文件夹。有谁知道这样做的命令?我在网上找到了这个,但我不知道怎么用它来提取到另一个文件夹。
for i in *.tar.gz; do tar -xvzf $i; done
答案 0 :(得分:27)
添加-C
选项以选择目标目录:
for i in *.tar.gz; do tar xvzf $i -C path/to/output/directory; done
答案 1 :(得分:4)
现在你正在使用
tar
提取所有文件。我相信你可以设置输出到哪个目录。
这将是这样的:
for i in *.tar.gz; do tar -xvzf $i -C directory; done
其中directory是要将文件解压缩到的文件夹的路径。
请参阅http://www.computerhope.com/unix/utar.htm(关于焦油的文档)。
答案 2 :(得分:2)
actdir=`pwd`
for files in *tar.gz ; do
filedir=`basename $files .tar.gz`
mkdir $filedir
cd $filedir
tar -xzf ../$files
cd $actdir
done
HTH
答案 3 :(得分:2)
-C选项可能更好。你也可以这样做:
$ mkdir / path / to / newfolder
$ for for in * .tar.gz; do files =“$ files $(readlink -f $ i)”;完成#构建文件名的绝对列表
$ cd / path / to / newfolder
$ for $ in $ files;做tar -zxvf $ i;完成