解压不同目录中的多个文件

解压不同目录中的多个文件

我正在尝试对使用开源 CMS 的多个站点执行更新,但在每个站点的 httpdocs 目录中解压补丁文件。我的计划是查找补丁文件,然后使用以下命令解压:

find . -name "patchfile.tar.gz" -exec tar -xzvf {} \; -print

但似乎没有成功

谁知道为什么不行?

非常感谢。

答案1

您正在提取当前目录中的 tar 文件,而不是补丁文件所在的目录。您可以编写一个小包装器来提取所需目录中的文件,例如

#!/bin/bash
DIR=`dirname $1`
cd $DIR
tar xzf $1

现在搜索命令可以是

find ... -exec tar.sh {} \; ...

相关内容