zoukankan      html  css  js  c++  java
  • 根据已有目录结构从目标目录中提取

    echo $#
    if [ $# -lt 2 ]; then
        echo "input basis folder base:"
        read src
        echo "input target folder base:"
        read target
        echo "input output folder base:"
        read output
    else
        src=$1
        target=$2
        output=$3
    fi
    echo "input param: "$src" "$target" "$output
    if [ ! -d "$src" ]; then
        echo "invalid src folder"
        exit 1
    fi
    if [ ! -d "$target" ]; then
        echo "invalid target folder"
        exit 2
    fi
    if [ ! -d "$output" ]; then
        mkdir -p "$output"
    fi
    
    function extract(){
        targetFile=${1#*/}
        targetFile=${targetFile#*/}
    #    echo "coping "$targetFile"  to "$output"/"$targetFile
        if [ -f $target"/"$targetFile ]; then    
    #    echo "coping "$target"/"$targetFile"  to "$output"/"$targetFile
        cp --preserve $target"/"$targetFile $output"/"$targetFile
        fi    
    }
    function extractFolder(){
        targetFile=${1#*/}
        targetFile=${targetFile#*/}
    #    echo "coping "$targetFile"  to "$output"/"$targetFile
        if [ -d $target"/"$targetFile ]; then    
        echo "creating folder "$target"/"$targetFile"  to "$output"/"$targetFile
        mkdir -p $output"/"$targetFile
        fi    
    }
    
    function read_dir(){
    for file in `ls $1` 
    do
     if [ -d $1"/"$file ] 
     then
     extractFolder $1"/"$file
     read_dir $1"/"$file
     else
     #echo "dealing file  "$1"/"$file 
     extract $1"/"$file 
     fi
    done
    } 
    read_dir $src

    ./extract.sh ./BuildRoot ./b7r6 ./output

  • 相关阅读:
    从POJ1958引发对n盘m塔Hanoi问题的思考
    SPOJGSS3 Can you answer these queries III
    【模板】SPFA判负环(洛谷P3385)
    【模板】强联通缩点(洛谷P3387)
    Luogu P2186 小Z的栈函数
    Luogu P2129 小Z的情书
    LGBT学分块
    LGBT玩扫雷
    A 美丽的子树
    B(升降序列)
  • 原文地址:https://www.cnblogs.com/wolbo/p/13810295.html
Copyright © 2011-2022 走看看