我,需要压缩一个目录,不包括一些子目录和文件;我用过这个:
zip -r zipfile.zip . -x ".*" -x "app/bower_components" -x "node_modules" -x "*.zip" -x "node_modules"
Run Code Online (Sandbox Code Playgroud)
没有任何成功;node_modules是主体中的一个文件夹,而bower_components在文件夹应用程序中
D-E*_*E-N 55
我只是猜测你想要什么。
-x ".*"
Run Code Online (Sandbox Code Playgroud)
排除所有以点开头的文件
这样做:
-x .\*
Run Code Online (Sandbox Code Playgroud)
排除所有文件(文件名中有一个点)
这样做:
-x \*.\*
Run Code Online (Sandbox Code Playgroud)
——
-x "app/bower_components" -x "node_modules"
Run Code Online (Sandbox Code Playgroud)
排除此目录及其中的所有文件
这样做:
-x app/bower_components/\* -x node_modules/\*
Run Code Online (Sandbox Code Playgroud)
——
-x "*.zip"
Run Code Online (Sandbox Code Playgroud)
排除所有 zip 文件
这样做:
-x \*.zip
Run Code Online (Sandbox Code Playgroud)
您两次排除 node_modules
Jak*_*kul 18
假设您的目录是一个 git 存储库(从问题来看,很可能是),您可以将要排除的目录添加到.gitignore文件中,并使用git archive命令来压缩目录的内容:
git archive --format=zip HEAD -o zipfile.zip
Run Code Online (Sandbox Code Playgroud)
在您的示例中,.gitignore文件必须如下所示:
node_modules
app/bower_components
Run Code Online (Sandbox Code Playgroud)
Mik*_*iLL 12
像这样的事情应该可以解决问题:
zip -r zipped.zip dir1/ -x */\.* *.git* \.* *.zip *.csv *.json *.rb *.bak *.swp *.back *.merge *.txt *.sh dir1/node_modules/**\* dir1/bower_components/**\* dir1/dist/**.*
Run Code Online (Sandbox Code Playgroud)
以下-x是要排除的目录和文件(扩展名)类型的列表。
小智 10
排除所有文件夹中的所有 node_modules 文件夹。
zip -r node.zip . -x "**/node_modules/*"
Run Code Online (Sandbox Code Playgroud)