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

首頁 > 系統 > Linux > 正文

shell腳本遞歸遍歷目錄及子目錄的例子分享

2019-10-26 18:40:25
字體:
來源:轉載
供稿:網友

用shell寫的遞歸遍歷目錄的腳本,腳本實現遞歸遍歷指定目錄,打印目錄下的文件名。

實例1:
代碼如下:
#!/bin/sh

function scandir() {
    local cur_dir parent_dir workdir
    workdir=$1
    cd ${workdir}
    if [ ${workdir} = "/" ]
    then
        cur_dir=""
    else
        cur_dir=$(pwd)
    fi

    for dirlist in $(ls ${cur_dir})
    do
        if test -d ${dirlist};then
            cd ${dirlist}
            scandir ${cur_dir}/${dirlist}
            cd ..
        else
            echo ${cur_dir}/${dirlist}
        fi
    done
}

if test -d $1
then
    scandir $1
elif test -f $1
then
    echo "you input a file but not a directory,pls reinput and try again"
    exit 1
else
    echo "the Directory isn't exist which you input,pls input a new one!!"
    exit 1
fi

實例2:遞歸讀取目錄及其子目錄
代碼如下:#! /bin/bash
function read_dir(){
    for file in `ls $1`
    do
        if [ -d $1"/"$file ]  //注意此處之間一定要加上空格,否則會報錯
        then
            read_dir $1"/"$file
        else
            echo $1"/"$file
        fi
    done
}

#測試目錄 test
read_dir test
這樣給test.sh加上執行權限即可執行
代碼如下:chmod +x test.sh
sh test.sh
到此即可通過傳遞參數來讀取目錄文件了。

實例3:

代碼如下:
遞歸實現各個子目錄孫目錄......

#!/bin/bash

#modify.func

doit()   //處理當前目錄下的非目錄文件,忽略目錄文件

{

    oldname=`ls | grep "$1$"`

    for name in $oldname

    do

       if [ -d "$name" ]

       then :

       else

            basename=`echo $name | awk -F "." '{print $1}'`  

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托克逊县| 广东省| 永靖县| 图片| 敦煌市| 黄平县| 三门峡市| 芜湖县| 久治县| 大同县| 象山县| 怀集县| 宁陕县| 南木林县| 刚察县| 孝感市| 句容市| 进贤县| 峨眉山市| 西乌珠穆沁旗| 锦屏县| 海晏县| 前郭尔| 阳新县| 南乐县| 和硕县| 时尚| 洛川县| 鹿泉市| 阜城县| 阳曲县| 名山县| 巴东县| 龙州县| 潞城市| 吉林省| 辉县市| 石阡县| 天门市| 方山县| 乌拉特中旗|