web-dev-qa-db-ja.com

Mac OS Xのコマンドライン「Zip」ツールを使用してディレクトリおよびサブディレクトリ内のファイルを再帰的に圧縮し、すべてのサブフォルダーから.DS_Storeファイルを除外します

Mac OS Xターミナルに付属のコマンドラインZipツールを使用してZipファイルを作成しようとしています。現在のフォルダーの内容を再帰的に圧縮しますが、.DS_Storeファイルは除外します。私はこれを試しています:

Zip -r myarchive.Zip . -x .DS_Store

-x .DS_Storeは、現在のフォルダーにある.DS_Storeファイルを除外しますが、再帰的に追加されたサブフォルダーにはありません。すべての.DS_Storeファイルもすべてのサブフォルダーから除外するにはどうすればよいですか?

10
OMA

除外オプションにワイルドカードを追加する

Zip -r myarchive.Zip . -x "*.DS_Store"
17
fd0

ほとんどの場合、除外したいall.DS_Storeまたは.gitまたは.gitignoreなどの隠しファイル

1つの簡単なコマンドで、これらすべてを処理し、すべてのファイルとサブフォルダーを再帰的に圧縮できます

Zip -r archive.Zip folder -x "*/\.*"

またはさらに良いことに、zshで関数を作成して人生を楽にします

open ~/.zshrc

エイリアスセクションに次のコードを追加します

function Zip-visible(){
    Zip -r $1 $2 -X -x "*/\.*"
}

Zsh設定をリロードします

source ~/.zshrc

このように使う

Zip-visible archive.Zip folder

1
alev