Bash

Linux gzip 將多個子目錄放入單獨的檔案中?

  • December 6, 2019

我如何能夠將子目錄壓縮到單獨的檔案中?

例子:

directory
subdir1
subdir2

應該創建 subdir1(.tar).gz 和 subdir2(.tar).gz

鑑於您的要求,這個小腳本似乎是您的最佳選擇:

cd directory
for dir in */
do
 base=$(basename "$dir")
 tar -czf "${base}.tar.gz" "$dir"
done

它可以正確處理名稱中帶有空格的目錄。

這個怎麼樣: find * -maxdepth 0 -type d -exec tar czvf {}.tar.gz {} \;

**說明:*您對目前目錄中的所有項目執行查找。Maxdepth 0 使它不會遞歸低於給定的參數。(在這種情況下,或目前目錄中的所有項目)“-type”的“d”參數只匹配目錄。然後 exec 在任何匹配項上執行 tar 。({} 被匹配的文件替換)

引用自:https://serverfault.com/questions/97763