![解压不同目录中的多个文件](https://linux22.com/image/512302/%E8%A7%A3%E5%8E%8B%E4%B8%8D%E5%90%8C%E7%9B%AE%E5%BD%95%E4%B8%AD%E7%9A%84%E5%A4%9A%E4%B8%AA%E6%96%87%E4%BB%B6.png)
我正在尝试对使用开源 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 {} \; ...