gpt4 book ai didi

linux - 脚本创建父目录的 tar,该目录将具有其子目录的单独 tar

转载 作者:太空宇宙 更新时间:2023-11-04 10:46:18 30 4
gpt4 key购买 nike

我想写一个有两个参数的脚本1. 父目录名称(例如 mainFolder)2.要创建的tar名称

父目录将包含子文件夹(文件夹 1、文件夹 2、文件夹 3 等)。我需要一个脚本来创建“mainFolder.tar”,其中包含“folder1.tar”、“folder2.tar”、“folder3.tar”……等……

tar cvf mainFolder.jar mainFolder

这只会直接创建父级“mainFolder”的 tar...谁能告诉我如何制作 mainFolder.tar 来创建和包含其子目录的 tar...需要一个 Shell 脚本(例如 createTar.sh ) 这将做到这一点..

在创建 tar 时,只有父文件夹“mainFolder”中的“目录”应该被视为 tar..而不是“.txt”文件..

最佳答案

这是针对您的问题的符合 POSIX 标准的解决方案。可能有一种更简单的方法(不使用任何临时文件),但它会涉及 tar 的特殊且可能不可移植的参数。

#!/bin/sh


startdir="$(pwd)"

mkdir -p parent/horse/frog parent/dog/frog parent/fish/frog

mkdir newparent

(
cd parent

for i in *
do if [ -d "$i" ]
then tar -cf "$startdir/newparent/${i}.tar" ${i}
fi
if [ -f "$i" ]
then cp "$i" "$startdir/newparent/"
fi
done
)

tar -cf newparent.tar newparent

关于linux - 脚本创建父目录的 tar,该目录将具有其子目录的单独 tar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32972200/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com