MacOSXでは、*.zipはab.zipと一致せず、ab.zipのみと一致します。この問題をどのように解決しますか?

MacOSXでは、*.zipはab.zipと一致せず、ab.zipのみと一致します。この問題をどのように解決しますか?

sh fizmyzip.sh現在のフォルダの下のすべてのzipファイルから不要なファイルを削除するために実行しようとしました。fizmyzip.sh例:

zip -d *.zip __MACOSX/\*
zip -d *.zip "*/.DS_Store"

ただし、一致することはできません。a-b.zipただab.zip。この問題をどのように解決できますか?

ベストアンサー1

シェル*.zipが に拡張さab.zip a-b.zipれるので、コマンドは次のようになります。

zip -d ab.zip a-b.zip __MACOSX/\*
zip -d ab.zip a-b.zip "*/.DS_Store"

フラグ次の引数には、ターゲットzipファイルが1つだけ必要です-d。他のパラメータは削除するファイル/パターンです。そのためだけで動作しますab.zip

したがって、forループを使用してください。

for zipf in *.zip; do zip -d "$zipf" "__MACOSX/*" "*/.DS_Store"; done

おすすめ記事