beg*_*ner 6 linux centos extract tar
我当前目录中有很多文件夹。每个文件夹都有一个 tar.gz 文件。要提取 tar.gz 文件,我需要在每个文件夹中并每次运行以下命令。
tar xvzf tar.gz -C /path/to/targetdirectory
Run Code Online (Sandbox Code Playgroud)
在我当前的目录中,它如下所示:
current directory
???Folder1
??? A.tar.gz
???Folder2
??? B.tar.gz
???Folder3
??? C.tar.gz
???Folder4
??? D.tar.gz
???Folder5
??? E.tar.gz
Run Code Online (Sandbox Code Playgroud)
一次提取所有我试过这样
tar xvzf */*.tar.gz -C /path/to/targetdirectory
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误:
tar: Folder1/A.tar.gz: Not found in archive
tar: Folder2/B.tar.gz: Not found in archive
tar: Folder3/C.tar.gz: Not found in archive
tar: Folder4/D.tar.gz: Not found in archive
tar: Folder5/E.tar.gz: Not found in archive
Run Code Online (Sandbox Code Playgroud)
find在该文件的目录中对每个找到的文件使用并执行命令:
find . -name '*.tar.gz' -execdir tar -xzvf '{}' \;
Run Code Online (Sandbox Code Playgroud)
该-execdir选项tar从找到的文件所在的文件夹中执行,{}并将被 tarfile 的名称替换。
有关更多信息,请参阅find文档。