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