Zip CLIから「@eaDir」を削除する方法は?

Zip CLIから「@eaDir」を削除する方法は?

私は次のような多くの派生を試みました。

zip -r test.zip /volume1/docker/test/ -x "*.DS_Store" -x "*.pyc" -x "@eaDir"

DS_Storeファイルとpicファイルは省略されますが、@ / eaDirディレクトリとすべてのファイルはそのまま残ります。

updating: volume1/docker/test/@eaDir/version.py@SynoResource
updating: volume1/docker/test/@eaDir/version.py@SynoEAStream
updating: volume1/docker/test/@eaDir/start.py@SynoResource

提案?

答え1

パターンはオプションのワイルドカード文字を含むパスで、アーカイブに保存されているパスと一致します。

したがって、以下を使用する必要があります。

zip -r test.zip /volume1/docker/test/ -x '*/@eaDir/*' -x '*.DS_Store' -x '*.pyc'

一重引用符は、*アーカイブに提供されたパスと一致するzipにワイルドカードを渡します。 (二重引用符も機能しますが、変数名やコマンドの置換などの誤解を避けるために、ここでは一重引用符を使用することをお勧めします。)

関連情報