婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > shell腳本遞歸遍歷目錄及子目錄的例子分享

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

熱門標(biāo)簽:江蘇云電銷機(jī)器人公司 百度地圖標(biāo)注錯了有責(zé)任嗎 華鋒e路航港口地圖標(biāo)注 揭陽智能電話機(jī)器人推薦 河南信譽好的不封卡電話外呼系統(tǒng) 如果做線上地圖標(biāo)注 客服外呼系統(tǒng)怎么樣 地圖標(biāo)注員都是年輕人 打電話機(jī)器人接我是他的秘書

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

實例1:

復(fù)制代碼 代碼如下:

#!/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:遞歸讀取目錄及其子目錄

復(fù)制代碼 代碼如下:
#! /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加上執(zhí)行權(quán)限即可執(zhí)行
復(fù)制代碼 代碼如下:
chmod +x test.sh
sh test.sh

到此即可通過傳遞參數(shù)來讀取目錄文件了。

實例3:

復(fù)制代碼 代碼如下:

遞歸實現(xiàn)各個子目錄孫目錄......

#!/bin/bash

#modify.func

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

{

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

    for name in $oldname

    do

       if [ -d "$name" ]

       then :

       else

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

            newname="$basename$2"                                       

            echo -e "$PWD/$name\t\t$newname"

            mv $name $newname

            count=`expr ${count} + 1`

       fi

    done

    return 0

}

do_recursive()          //從當(dāng)前目錄開始,遞歸處理各目錄

{

    doit $1 $2

    for filename in `ls`

    do

         if [ -d "$filename" ]

         then

             cd $filename

             do_recursive $1 $2

             cd ..

         fi

    done

    return 0

}

modify()                     //處理當(dāng)前目錄,并報告結(jié)果,這個相當(dāng)于主函數(shù),也可以直接調(diào)用do_recursive

{

    PARAMS=2

    if [ $# -ne $PARAMS ]

    then

        echo "usage: mv_to .suf1 .suf2"

        return 1

    fi

    count=0

    do_recursive $1 $2

    echo "complete! $count files have been modified."

    return 0

}

您可能感興趣的文章:
  • Shell腳本遍歷目錄并批量修改文件編碼
  • shell遞歸輸出文件名和目錄名的方法
  • shell獲取目錄下所有文件夾的名稱并輸出的實例
  • linux Shell獲取某目錄下所有文件夾的名稱
  • 利用shell腳本遍歷文件夾內(nèi)所有的文件并作整理統(tǒng)計的方法
  • 詳解shell 遍歷文件夾內(nèi)所有文件并打印絕對路徑
  • shell 遞歸遍歷目錄下的所有文件并統(tǒng)一改名的方法

標(biāo)簽:許昌 金昌 淘寶邀評 馬鞍山 赤峰 邵陽 巴彥淖爾 婁底

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell腳本遞歸遍歷目錄及子目錄的例子分享》,本文關(guān)鍵詞  shell,腳本,遞歸,遍歷,目錄,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell腳本遞歸遍歷目錄及子目錄的例子分享》相關(guān)的同類信息!
  • 本頁收集關(guān)于shell腳本遞歸遍歷目錄及子目錄的例子分享的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 社会| 黔西县| 中西区| 江油市| 乐至县| 桦南县| 杭锦后旗| 承德县| 凤阳县| 双城市| 西吉县| 咸宁市| 大连市| 科技| 综艺| 潜山县| 鲜城| 醴陵市| 中牟县| 宜春市| 南溪县| 龙山县| 孟州市| 鄱阳县| 旺苍县| 达拉特旗| 望江县| 襄樊市| 铅山县| 关岭| 九龙坡区| 滦平县| 天津市| 家居| 昂仁县| 绥宁县| 蓬安县| 翁源县| 莱西市| 乃东县| 荣成市|