Linux 使用通配符从tar文件提取文件

Linux 使用通配符从tar文件提取文件,linux,tar,Linux,Tar,例如,有人能告诉我如何使用通配符提取tar文件吗 $ tar -xvf file1_*.tar dir1/ 提前感谢要在单个目录中提取多个tar文件,请尝试以下操作(从包含文件的目录中): 该命令在当前目录中列出使用您的模式的tar文件,将它们传送到xargs,这将使用模式tar-xvf{filename}dir1/对每个文件执行tar命令 要查看将要执行的操作,请将上述命令修改为 ls file1_*.tar | xargs -I{} echo tar -xvf {} dir1/ xarg

例如,有人能告诉我如何使用通配符提取tar文件吗

$ tar -xvf file1_*.tar dir1/

提前感谢

要在单个目录中提取多个tar文件,请尝试以下操作(从包含文件的目录中):

该命令在当前目录中列出使用您的模式的tar文件,将它们传送到
xargs
,这将使用模式
tar-xvf{filename}dir1/
对每个文件执行
tar
命令

要查看将要执行的操作,请将上述命令修改为

ls file1_*.tar | xargs -I{} echo tar -xvf {} dir1/
xargs
是一个非常强大的工具,可以从命令行学习如何使用,在命令行中,一个命令需要在多个输入上执行,通常可以节省大量时间


post还有另一种选择。

您可以在与TAR相同的目录中执行以下操作

for filename in ./file1_*.tar; do tar -xvf $filename -C ./dir1/; done

您是尝试使用一个命令提取多个tar文件,还是尝试使用通配符从单个tar文件提取文件?很抱歉,我只是想明确你的问题。我想使用通配符提取一个tar文件,所以你想从一个tar文件中提取所有
file1.*.tar
格式的文件吗?这是一个完全不同的问题。我收到如下错误:tar:file1.*.tar:无法打开:没有这样的文件或目录tar:错误不可恢复:立即退出您是否在与tar文件相同的目录中执行此命令?您能将
ls
的输出粘贴到包含tar文件的目录中吗?我正在同一文件夹中执行命令。ls的输出是:file2_14-Aug-2014-19-45-22.tar file2_14-Aug-2014-19-45-22.tar file1_14-Aug-2014-19-45-22.tarOk尝试使用:
作为文件名输入。/*.tar;do tar-xvf$filename-C./dir1/;完成
Error tar:./*.tar:无法打开:没有这样的文件或目录获取错误ls:无法访问文件1.*.tar:没有这样的文件或目录您是否正确使用了
ls
命令?看起来你只是把通配符传给了tar。我用一个调试示例进行了编辑。我完全使用了您给出的内容,但出现错误您提出的问题似乎与给出的答案完全不同-您能澄清您的原始问题吗?请直接从命令行复制您使用的命令,并将它们粘贴到此处。
for filename in ./file1_*.tar; do tar -xvf $filename -C ./dir1/; done