在 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

shell 擴展*.zipab.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

相關內容