
我嘗試運行sh fizmyzip.sh
以從當前資料夾下的所有 zip 檔案中刪除一些不必要的檔案。fizmyzip.sh
是:
zip -d *.zip __MACOSX/\*
zip -d *.zip "*/.DS_Store"
然而,它不能匹配a-b.zip
,只是ab.zip
。我怎樣才能解決這個問題?
答案1
shell 擴展*.zip
為ab.zip a-b.zip
,因此命令變為
zip -d ab.zip a-b.zip __MACOSX/\*
zip -d ab.zip a-b.zip "*/.DS_Store"
標誌後面的參數中應該只有一個目標 zip 檔-d
。其他參數是要刪除的檔案/模式。這就是為什麼它只適用於ab.zip
.
所以使用 for 迴圈:
for zipf in *.zip; do zip -d "$zipf" "__MACOSX/*" "*/.DS_Store"; done