Command-Line

如何創建僅保留目標目錄及以下結構的 ZIP 存檔?

  • April 30, 2012

我需要創建一個 zip 存檔,其中解壓縮的結果會保留指定目錄向下的目錄結構。我還需要在實際切換到目錄的情況下執行此操作。

我的問題與類似。在閱讀了很多關於這個問題的內容後,我覺得沒有任何東西可以完全回答我的問題。

例如,我有:

/tmp
/子目錄
/相關目錄
/sub_folder_1/
東西.pdf
東西.xls
/sub_folder_2/
東西.pdf
東西.xls
/sub_folder_3/
東西.pdf
東西.xls

我需要能夠執行zip -r /tmp/sub_dir/pertinent_dir.zip /tmp/sub_dir/pertinent_dir/*使得結果只包含pertinent_dir以下內容。同樣,無論我目前的目錄上下文如何,我都需要這樣做。我試過-j了,但這似乎不起作用。也許這是不可能的。有什麼我想念的嗎?

sh -c "cd /tmp/sub_dir/pertinent_dir/../  \
&& zip -r pertinent_dir.zip pertinent_dir/*"

您可以使用 jar 代替 zip:

jar cfM /tmp/sub_dir/pertinent_dir.zip -C /tmp/sub_dir pertinent_dir

引用自:https://unix.stackexchange.com/questions/37279