Bash 如何迭代数千个tar球并提取扩展名为.vcf.gz的单个文件?

Bash 如何迭代数千个tar球并提取扩展名为.vcf.gz的单个文件?,bash,unix,tar,Bash,Unix,Tar,所以我有一个Unix中数千个tar球的目录。我想迭代所有这些tar球,从每个tar球中提取一个特定的文件(唯一附加了.vcf.gz),并将其移动到不同的目录 我不知道如何有效地做到这一点。请提供帮助。循环浏览目录中的tar文件,然后对每个文件执行tar命令 for i in *tar.gz; do tar -xvf "$i" -C "/path/to/new/folder" "*.vcf.gz"; # Use -C to

所以我有一个Unix中数千个tar球的目录。我想迭代所有这些tar球,从每个tar球中提取一个特定的文件(唯一附加了.vcf.gz),并将其移动到不同的目录


我不知道如何有效地做到这一点。请提供帮助。

循环浏览目录中的tar文件,然后对每个文件执行tar命令

for i in *tar.gz;
do 
   tar -xvf "$i" -C "/path/to/new/folder" "*.vcf.gz";    # Use -C to switch directory before extract and put extension to search for in tar file in quotes.
done

请更准确地说明如何存储文件名以及如何推断输出目录的名称。谢谢。tar ball中存在我想要的文件*.vcf.gz。tar名为*\u output.tar.gz,其中有一个名为./results的目录,其中存在*.vcf.gz。*=唯一的字母数字标识符。该标识符在tar ball和.vcf.gz文件之间是一致的。输出目录可以是任何内容。我们称之为./output\u vcfsI我不理解您的描述,但怀疑GNU Parallel可以做到这一点。这里的例子。。。