bash脚本迭代目录并创建tar文件

时间:2018-06-05 20:37:02

标签: linux bash ubuntu directory ubuntu-14.04

我正在寻找创建bash文件的方法,该文件将迭代目录中的所有文件夹,并为每个目录创建一个tar.gz文件。 (这是专门用于ubuntu / drupal网站的 - 但在其他情况下可能很有用。)

2 个答案:

答案 0 :(得分:-1)

经过大量搜索,结合脚本和测试,我发现从主目录中运行时,以下工作非常好。 这可能会略有不同,具体取决于bash的版本,ubuntu的版本以及您安排或运行bash文件的位置。 (通过在父文件夹中的命令行键入sh createDirectoryTarFiles.sh来运行。) 回声线不是必需的 - 仅用于查看目的。

   for D in *; do
      if [ -d "${D}" ]; then
         tx="${D%????}"
         echo "Directory is ${D} - and name of file would be $tx"
         tar -zcvf "$tx.tar.gz" "${D}"
      fi
   done

答案 1 :(得分:-1)

您可以使用find搜索mindepth和maxdepth之间的目录,然后创建焦油

find .  -maxdepth 1 -mindepth 1 -type d -exec tar czf $(basename {}).tar.gz {} \;
相关问题