Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个文件夹层次结构,其中包含很多 tarball。我需要编写一个递归到每个目录的脚本,将压缩包解压到相应的目录中。
我试过
find ./ -name "*.tar.gz" -exec /bin/tar -zxvf {} \;
使用提取到 pwd 的所有 tarball 执行的代码,而不是在相应目录中。
如果可能的话,请协助我。谢谢 :)
您可以像这样使用查找:
find . -name "*.tar.gz" -exec bash -c 'd=$(dirname "{}") && b=$(basename "{}") && cd "$d" && tar zxvf "$b"' \;
编辑上述 find 命令的较短版本将是:
find . -name "*.tar.gz" -execdir tar zxvf "{}" \;