如何压缩大量文件夹但排除任何名为“node_modules”的子文件夹(递归)

如何压缩大量文件夹但排除任何名为“node_modules”的子文件夹(递归)

我在初始文件夹中有很多目录,我想压缩所有内容,但排除node_modules每个目录的所有文件夹,我尝试过这个:

zip -r all_repos.zip . -x '*node_modules*'

但它不会排除所有子文件夹。

知道如何以递归方式执行此操作吗?

答案1

zip查看文件,因此要使其包含您需要添加的目录/\*,或'/*'根据有关“man zip”中“include”的说明进行操作

          Examples are for Unix unless otherwise specified.]  So to include dir,
          a directory directly  under  the current directory, use

                 zip -r foo . -i dir/\*

          or

                 zip -r foo . -i "dir/*"

因此,我们假设“排除”也有效,并尝试

zip -r all_repos.zip . -x '*node_modules*/*'

相关内容