Bash
Linux gzip 將多個子目錄放入單獨的檔案中?
我如何能夠將子目錄壓縮到單獨的檔案中?
例子:
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 。({} 被匹配的文件替換)