
我想創建一個 zip 忽略資料夾結構,並排除特定子資料夾的內容。
我努力了:
zip -rj /path/to/target.zip /path/to/source -x "/path/to/source/subfolder/*"
它不起作用,zip 回傳訊息:
zip 錯誤:無事可做! (/path/to/target.zip)
答案1
摘錄man 1 zip
[...]輸入模式,例如
/foo/bar/*
通常會符合兩個路徑,* 符合 dir/file1.c 和 file2.c。請注意,在第一種情況下,匹配中跨越了目錄邊界 (/)。使用 -ws 時,符合中不會包含目錄邊界,使通配符成為特定目錄層級的本機通配符。因此,啟用 -ws 後,只有第二條路徑會被比對。
使用 -ws 時,使用 ** 來跨目錄邊界匹配,就像 * 一樣。
使用時也是如此-x
因此,為了您的目的*
,如果它是目錄,則將排除模式加倍:
zip -rj /path/to/target.zip /path/to/source -x "/path/to/source/subfolder/**"