web-dev-qa-db-ja.com

ディレクトリを除外し、ディレクトリを圧縮する方法は?

私は、サブディレクトリとファイルを除くディレクトリを圧縮する必要があります。私はこれを使用しました:

Zip -r zipfile.Zip . -x ".*" -x "app/bower_components" -x "node_modules" -x "*.Zip" -x "node_modules"

成功なし; node_modulesは主要なフォルダーであり、bower_componentsはフォルダーアプリ内にあります

30
arpho

私は単にあなたが望むものを推測します。

-x ".*"

ドットで始まるすべてのファイルを除外します

次のようにします:

-x .\*

すべてのファイルを除外する(ファイル名にドットを含む)

次のようにします:

-x \*.\*

-

-x "app/bower_components" -x "node_modules"

このディレクトリとその中のすべてのファイルを除外します

次のようにします:

-x app/bower_components/\* -x node_modules/\*

-

-x "*.Zip"

すべてのZipファイルを除外

次のようにします:

-x \*.Zip

Node_modulesを2回除外します

35
D-E-N

このような何かがトリックを行う必要があります:

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/**.*

ここで、-xは、除外するディレクトリとファイル(拡張子)タイプのリストです。

6
MikeiLL

ディレクトリがgitリポジトリであると仮定すると(そして、質問から判断すると、そうである可能性が高い)、.gitignoreファイルに除外するディレクトリを追加し、git archiveコマンドを使用して、あなたのディレクトリ:

git archive --format=Zip HEAD -o zipfile.Zip

あなたの例では、.gitignoreファイルは次のようになります。

node_modules
app/bower_components
4
Jakub Kukul

これは、Ubuntu 16.04で完璧に機能します。

Sudo Zip -r /home/user/backup/$(date +"%Y-%m-%d")/home_user.Zip /home/user -x "*backup*" -x "*.cache*" -x "*test*"
1
Tarik

すべてのプロジェクトで、次のようにnode_modulesをスキップします。

for i in */; do Zip -r "${i%/}.Zip" "$i" -x "*/\node_modules/*" ; done
0
nils petersohn