Linux

分別對每個頂級目錄進行 tar

  • November 30, 2021

如何為一系列目錄創建 tarball?

例如,如果我的主目錄包含名為“一”“二”“三”和“四”的目錄,我如何創建 one.tar.gz two.tar.gz three.tar.gz 和four.tar.gz?

for dir in one two three four; do
   tar_file_name="$dir".tar.gz
   test -f "$tar_file_name" || tar -czf "$tar_file_name" "$dir"
done

使用所有目錄名稱(真實目錄,而不是符號連結):

#! /bin/bash

shopt -s dotglob

for dir in *; do
   test -d "$dir" && test ! -L "$dir" || continue
   tar_file_name="$dir".tar.gz
   test -f "$tar_file_name" || tar -czf "$tar_file_name" "$dir"
done

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