繁体   English   中英

父目录的脚本创建tar,它将具有其子目录的各个tar

[英]Script create tar of a Parent directory which will have individual tar's of its sub directories

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

父目录将具有子文件夹(folder1,folder2,folder3等)。 我需要一个脚本来创建“ mainFolder.tar”,该脚本将由“ folder1.tar”,“ folder2.tar”,“ folder3.tar” ...等组成。

tar cvf mainFolder.jar mainFolder

这将仅直接创建父级的tar文件...任何人都可以告诉我如何使mainFolder.tar文件创建并包含其子目录的tar文件...需要一个Shell脚本(例如createTar.sh)做..

创建tar时,tar ..文件应仅考虑父文件夹“ mainFolder”中的“目录”,而不应考虑“ .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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM