如何在所有子目录中压缩某些文件类型?

新手上路,请多包涵

我想 tar 以及目录及其子目录中的所有 .php 和 .html 文件。如果我使用

tar -cf my_archive *

它会压缩所有我不想要的文件。如果我使用

tar -cf my_archive *.php *.html

它忽略子目录。我怎样才能使它递归地 tar 但只包含两种类型的文件?

原文由 user1566515 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 587
2 个回答

find ./someDir -name "*.php" -o -name "*.html" | tar -cf my_archive -T -

原文由 DeeDee 发布,翻译遵循 CC BY-SA 3.0 许可协议

如果您正在使用 bash 版本 > 4.0,您可以利用 shopt -s globstar 来完成以下工作:

 shopt -s globstar; tar -czvf deploy.tar.gz **/Alice*.yml **/Bob*.json

这将从任何子目录添加以 Alice 开头的所有 .yml 文件,并从任何子目录添加以 Bob 开头的所有 .json 文件。

原文由 Sairam Krish 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题