最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2014年04月09日 10:59:23   作者:  
這篇文章主要介紹了shell腳本遞歸遍歷目錄及子目錄的例子,需要的朋友可以參考下

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

實(shí)例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

實(shí)例2:遞歸讀取目錄及其子目錄

復(fù)制代碼 代碼如下:
#! /bin/bash
function read_dir(){
    for file in `ls $1`
    do
        if [ -d $1"/"$file ]  //注意此處之間一定要加上空格,否則會(huì)報(bào)錯(cuò)
        then
            read_dir $1"/"$file
        else
            echo $1"/"$file
        fi
    done
}

#測(cè)試目錄 test
read_dir test


這樣給test.sh加上執(zhí)行權(quán)限即可執(zhí)行
復(fù)制代碼 代碼如下:
chmod +x test.sh
sh test.sh

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

實(shí)例3:

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

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

#!/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)前目錄,并報(bào)告結(jié)果,這個(gè)相當(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

}

相關(guān)文章

  • Linux解壓縮(打開)Gz文件的命令詳解

    Linux解壓縮(打開)Gz文件的命令詳解

    GNU 的 Gzip 是一種流行的數(shù)據(jù)壓縮程序,而 GZ 文件是由標(biāo)準(zhǔn) Gzip 壓縮的存檔文件,本文給大家介紹了如何在Linux解壓縮(打開)Gz 文件,文中有詳細(xì)的代碼示例供大家參考,需要的朋友可以參考下
    2023-12-12
  • ansible執(zhí)行shell腳本的方法

    ansible執(zhí)行shell腳本的方法

    本文主要介紹了ansible執(zhí)行shell腳本的方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • 慎用rm -rf /與 rm -rf /* 推薦使用mv代替rm

    慎用rm -rf /與 rm -rf /* 推薦使用mv代替rm

    本文主要介紹了慎用rm -rf /與 rm -rf /* 推薦使用mv代替rm,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • shell 隨機(jī)從文件中抽取若干行的實(shí)現(xiàn)方法

    shell 隨機(jī)從文件中抽取若干行的實(shí)現(xiàn)方法

    這篇文章主要介紹了shell 隨機(jī)從文件中抽取若干行的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-03-03
  • Shell編程中的特殊變量之進(jìn)程狀態(tài)變量介紹

    Shell編程中的特殊變量之進(jìn)程狀態(tài)變量介紹

    這篇文章主要介紹了Shell編程中的特殊變量之進(jìn)程狀態(tài)變量介紹,本文講解了$$、$!、$?、$@、$_這些特殊變量,需要的朋友可以參考下
    2014-12-12
  • linux 使用NSF 映射遠(yuǎn)程磁盤目錄的實(shí)現(xiàn)

    linux 使用NSF 映射遠(yuǎn)程磁盤目錄的實(shí)現(xiàn)

    下面小編就為大家?guī)硪黄猯inux 使用NSF 映射遠(yuǎn)程磁盤目錄的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • shell腳本通過expect實(shí)現(xiàn)自動(dòng)單邊無密登錄功能

    shell腳本通過expect實(shí)現(xiàn)自動(dòng)單邊無密登錄功能

    最近做項(xiàng)目需要實(shí)現(xiàn)單邊無密登錄功能,接下來小編給大家分享shell腳本通過expect實(shí)現(xiàn)自動(dòng)單邊無密登錄功能,一起看看吧
    2017-01-01
  • 如何正確使用Linux命令–du

    如何正確使用Linux命令–du

    這篇文章主要為大家詳細(xì)介紹了如何正確使用Linux命令–du,具有一定的實(shí)用性,感興趣的小伙伴們可以參考一下
    2016-10-10
  • Linux命令學(xué)習(xí)之用戶切換su,sudo命令詳解

    Linux命令學(xué)習(xí)之用戶切換su,sudo命令詳解

    在操作過程中需要使用特定的用戶進(jìn)行特定的操作,多數(shù)情況下是因?yàn)闄?quán)限,比如要修改一個(gè)文件,只有root用戶有權(quán)限修改,那么就要切換到root用戶下進(jìn)行操作,本文給大家講解Linux命令學(xué)習(xí)之用戶切換su,sudo命令,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • Linux動(dòng)態(tài)庫函數(shù)的詳解

    Linux動(dòng)態(tài)庫函數(shù)的詳解

    這篇文章主要介紹了Linux動(dòng)態(tài)庫函數(shù)的詳解的相關(guān)資料,希望通過本文能幫助到大家,讓大家理解掌握這部分的內(nèi)容,需要的朋友可以參考下
    2017-10-10

最新評(píng)論

增城市| 凤庆县| 吴川市| 溆浦县| 泰顺县| 哈巴河县| 长寿区| 信阳市| 明光市| 巴青县| 磐石市| 嵩明县| 鄂尔多斯市| 崇左市| 崇文区| 新田县| 莎车县| 潜江市| 灵丘县| 绥滨县| 永顺县| 金华市| 宁波市| 赤水市| 宜良县| 依安县| 东宁县| 天气| 三门县| 宜丰县| 绍兴县| 城固县| 龙陵县| 泸溪县| 沙河市| 和硕县| 嘉善县| 内江市| 珲春市| 麻栗坡县| 湟中县|