将多个子文件夹压缩到一个目录中的bash脚本可以通过使用tar命令来实现。tar命令是一个用于创建、查看和提取tar归档文件的工具。
下面是一个示例的bash脚本,用于将多个子文件夹压缩到一个目录中:
#!/bin/bash
# 指定目标目录
target_dir="/path/to/target/directory"
# 创建一个临时目录用于存放子文件夹的压缩文件
temp_dir=$(mktemp -d)
# 遍历子文件夹
for folder in /path/to/parent/directory/*; do
if [ -d "$folder" ]; then
# 获取子文件夹的名称
folder_name=$(basename "$folder")
# 压缩子文件夹到临时目录
tar -czf "$temp_dir/$folder_name.tar.gz" -C "$folder" .
fi
done
# 将所有压缩文件移动到目标目录
mv "$temp_dir"/*.tar.gz "$target_dir"
# 删除临时目录
rm -r "$temp_dir"
这个脚本首先指定了目标目录,即将所有子文件夹压缩文件移动到的目录。然后创建一个临时目录,用于存放子文件夹的压缩文件。接下来,通过遍历父目录下的所有子文件夹,将每个子文件夹压缩为一个独立的tar归档文件,并存放在临时目录中。最后,将所有压缩文件移动到目标目录,并删除临时目录。
这个脚本可以方便地将多个子文件夹压缩到一个目录中,适用于需要将多个相关文件夹打包备份或传输的场景。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云