如何使用 FIND + TAR 命令提取特定文件

如何使用 FIND + TAR 命令提取特定文件

我想知道是否可以tar使用 find 命令提取文件内的特定文件。

例子:

  • 正常情况:找到名为“file1”的文件名并解压

    tar xvf tarfilename file1 
    
  • 我的情况:

    find . -iname "*tar*" -exec tar -xvf *file1* {} \;
    

    我不知道是否可以做。

原因:

我的内部产品系统不允许运行tar命令。

我知道最好的做法是直接运行 tar,但希望最后破灭

提前致谢。

答案1

如果您无法tar直接从 shell 运行,但可以从不同的命令运行它,那么您可以执行以下操作:

env tar xvf file.tar file1
find . -prune -exec tar xvf file.tar file1 ';'
perl -e 'exec @ARGV' tar xvf file.tar file1

然而,这仍然有效tar,所以你可能至少仍然违反了禁止你跑步的法律精神tar

除了 之外tar,您还可以运行pax(这是用于处理档案的 POSIX 命令)。

pax -r < file.tar file1

相关内容