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

詳解shell 遍歷文件夾內(nèi)所有文件并打印絕對(duì)路徑

 更新時(shí)間:2017年01月22日 15:50:22   作者:sinat_37394380  
本篇文章主要介紹了shell 遍歷文件夾內(nèi)所有文件并打印絕對(duì)路徑,具有一定的參考價(jià)值,有興趣的可以了解一下。

例如你有一個(gè)文件夾路徑是 /wls,如果想要遍歷這個(gè)文件夾內(nèi)的所有文件,并將它們保存到數(shù)組中,利用shell你可以這樣做

for file in /wls/*
do
    if test -f $file
    then
        arr=(${arr[*]} $file)
    fi
done
echo ${arr[@]}

這樣就可以遍歷wls文件夾下的所有文件并把它們的絕對(duì)路徑存在arr這個(gè)數(shù)組中,但這還是不夠的,因?yàn)槲募A中可能會(huì)有多個(gè)子文件夾,如果只過濾文件會(huì)遺漏掉子文件夾中的文件,所以需要擴(kuò)展上面的方法,如果我們只考慮兩級(jí)目錄的話可以這樣寫

for file in /wls/*
do
    if test -f $file
    then
        arr=(${arr[*]} $file)
    else
        for subfile in $file
            do
                if test -f $subfile
                then
                    arr=(${arr[*]} $subfile)
                fi
            done
    fi
done
echo ${arr[@]}

這樣就可以把目標(biāo)文件夾下的兩級(jí)目錄內(nèi)所有文件的絕對(duì)路徑獲取到,那么如果有多級(jí)子目錄的情況呢,這就要求我們?nèi)懸粋€(gè)function來協(xié)助我們

function getdir(){
    echo $1
    for file in $1/*
    do
    if test -f $file
    then
        echo $file
        arr=(${arr[*]} $file)
    else
        getdir $file
    fi
    done
}
getdir /wls
echo ${arr[@]}

通過遞歸調(diào)用getdir就可以實(shí)現(xiàn)將wls文件夾內(nèi)所有文件的絕對(duì)路徑保存到數(shù)組中。

以上的方法在處理NAS日志的問題中很有效,可以將所有日志文件遍歷一遍,當(dāng)然關(guān)于日志文件名的過濾這里要讀者自己實(shí)現(xiàn)。

相關(guān)文章

  • C語言實(shí)現(xiàn)的ls命令源碼分享

    C語言實(shí)現(xiàn)的ls命令源碼分享

    這篇文章主要介紹了C語言實(shí)現(xiàn)的ls命令源碼分享,本文是學(xué)習(xí)apue的練手之作,需要的朋友可以參考下
    2014-09-09
  • shell Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實(shí)現(xiàn)

    shell Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實(shí)現(xiàn)

    本文主要介紹了shell Bash的數(shù)組與關(guān)聯(lián)數(shù)組的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Linux shell命令統(tǒng)計(jì)某列去重后的值

    Linux shell命令統(tǒng)計(jì)某列去重后的值

    今天小編就為大家分享一篇關(guān)于Linux shell命令統(tǒng)計(jì)某列去重后的值,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • 每天學(xué)一個(gè) Linux 命令之more命令

    每天學(xué)一個(gè) Linux 命令之more命令

    more命令,功能類似 cat ,more會(huì)以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會(huì)往回(back)一頁顯示,而且還有搜尋字串的功能
    2016-12-12
  • linux文件目錄默認(rèn)權(quán)限(詳解)

    linux文件目錄默認(rèn)權(quán)限(詳解)

    下面小編就為大家?guī)硪黄猯inux文件目錄默認(rèn)權(quán)限(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • Shell腳本編程30分鐘入門(小結(jié))

    Shell腳本編程30分鐘入門(小結(jié))

    這篇文章主要介紹了Shell腳本編程30分鐘入門(小結(jié)),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • shell字符串截取報(bào)錯(cuò):Bad substitution的解決

    shell字符串截取報(bào)錯(cuò):Bad substitution的解決

    這篇文章主要介紹了shell字符串截取報(bào)錯(cuò):Bad substitution的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • shell 腳本中常用的內(nèi)置變量(Bash 內(nèi)置變量)

    shell 腳本中常用的內(nèi)置變量(Bash 內(nèi)置變量)

    在 Bash 解釋器中,內(nèi)置了許多變量,這些變量的功能是解釋器自帶的,我們在編寫shell腳本時(shí)如果能靈活的使用它們,對(duì)腳本的編寫效率以及差錯(cuò)大有幫助, 下面一一介紹這些變量,一起看看吧
    2021-05-05
  • CCKiller:Linux輕量級(jí)CC攻擊防御工具,秒級(jí)檢查、自動(dòng)拉黑和釋放

    CCKiller:Linux輕量級(jí)CC攻擊防御工具,秒級(jí)檢查、自動(dòng)拉黑和釋放

    這篇文章主要介紹了CCKiller:Linux輕量級(jí)CC攻擊防御工具,秒級(jí)檢查、自動(dòng)拉黑和釋放,需要的朋友可以參考下
    2016-02-02
  • 如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問題

    如何解決jenkins 執(zhí)行shell腳本 sh: ... not f

    這篇文章主要介紹了如何解決jenkins 執(zhí)行shell腳本 sh: ... not found的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2023-06-06

最新評(píng)論

遵义县| 丽水市| 宁海县| 阳东县| 江都市| 昂仁县| 报价| 曲靖市| 濉溪县| 彩票| 盐津县| 湾仔区| 临安市| 宜昌市| 古蔺县| 陆川县| 雷山县| 榕江县| 江津市| 常德市| 华安县| 铜山县| 凌海市| 南宫市| 长治市| 四子王旗| 凌海市| 永修县| 来凤县| 绥芬河市| 肇东市| 崇仁县| 呈贡县| 祁东县| 抚远县| 阿合奇县| 沾益县| 扎囊县| 玉田县| 延寿县| 石河子市|