国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

Shell腳本實(shí)現(xiàn)從文件夾中遞歸復(fù)制文件

2019-10-26 18:44:58
字體:
供稿:網(wǎng)友

需求

前兩天碰到需要在十層左右的文件夾中提取文件的需求,于是寫了此腳本。

如下面這樣的文件結(jié)構(gòu):
代碼如下:
    dir1
    ├── a
    │   ├── b
    │   │   └── file1
    │   └── file2
    ├── c
    │   └── d
    │       ├── e
    │       │   └── file4
    │       └── file3
    └── file5

我們需要將其中的file1~file5提取出來放到另一個(gè)文件夾中。

腳本

腳本getfilefromdir.sh如下:
代碼如下:
#!/bin/bash
#desc: get file from directory
#example: sh getfilefromdir.sh A B

INIT_PATH=${1%/}
SAVE_PATH=${2%/}

function checksavepath() {
    if [ -d $SAVE_PATH ]
    then
        rm -rf $SAVE_PATH
    fi

    mkdir ${SAVE_PATH}
    touch $SAVE_PATH".log"
}

function getfilefromdir(){
    for file in ` ls $1`
    do
        if [ -d $1"/"$file ]
        then
            getfilefromdir $1"/"$file
        else
            local path="$1/$file"
            local name=$file
            if [ ! -f $SAVE_PATH"/"$name ]
            then
                echo "cp ${path} to ${SAVE_PATH}/${name}"
                cp ${path} "${SAVE_PATH}/${name}"
            else
                echo "${path} file already exists"
                echo "${path}" >> $SAVE_PATH".log" 2>&1
            fi
        fi
    done
}

checksavepath

for sfol in ${INIT_PATH}
do
    getfilefromdir ${sfol}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜昌市| 无为县| 咸阳市| 库尔勒市| 满城县| 兴仁县| 赣州市| 富平县| 通化县| 张北县| 广西| 施秉县| 禹城市| 岳西县| 沁水县| 怀安县| 阳信县| 成安县| 泸定县| 鸡西市| 临西县| 防城港市| 波密县| 夏津县| 丰县| 临湘市| 江孜县| 治多县| 鲜城| 海兴县| 广丰县| 芮城县| 玉龙| 浙江省| 东平县| 河西区| 神池县| 阿勒泰市| 平凉市| 察隅县| 弋阳县|