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

基于linux命令提取文件夾內(nèi)特定文件路徑

 更新時(shí)間:2020年05月30日 10:17:36   作者:migoo  
這篇文章主要介紹了基于linux命令提取文件夾內(nèi)特定文件路徑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

最近需要實(shí)現(xiàn)自動(dòng)化搜尋特定文件夾下的特定文件,并且需要分別保存文件路徑與文件名。算然使用python的walk能夠?qū)崿F(xiàn),但是感覺復(fù)雜了些。于是想看看linux自帶的命令是否能完成這項(xiàng)工作。

環(huán)境

需要查找的目錄結(jié)構(gòu)如下

. |____test | |____test2.txt | |____test.py | |____test.txt | |____regex.py |____MongoDB | |____.gitignore | |____cnt_fail.py | |____db

目標(biāo)一:獲取所有py文件名

如果只使用find . -name '*.py'進(jìn)行查找,得出的結(jié)果是包含路勁的

./test/test.py
./test/regex.py
./MongoDB/cnt_fail.py

我們只需要文件名的話可以使用linux提供的命令basename

利用basename將find的所有搜索結(jié)果進(jìn)行處理我們需要使用find的參數(shù)-exec

最終的命令為:

find . -name '*.py' -exec basename {} \;

結(jié)果:

test.py
regex.py
cnt_fail.py

其中{} 用于與-exec選項(xiàng)結(jié)合使用來匹配所有結(jié)果,然后支取其文件名。

目標(biāo)二:獲得所有py文件路徑,去重復(fù),刪除開頭的“./”字符

linux也有獲取文件路徑的命令dirname

略微修改之前的命令能夠顯示所有文件路徑

find . -name '*.py' -exec dirname {} \;
搜索結(jié)果:

./test
./test
./MongoDB

可以看到路徑存在重復(fù),linux去除重可以利用sort再添加-u參數(shù),-u參數(shù)用于去除排序結(jié)果中的重復(fù)項(xiàng)
我們需要把上一個(gè)命令的輸出傳遞給sort作為輸入,很自然想到了管道

管道命令操作符是:|,它僅能處理經(jīng)由前面一個(gè)指令傳出的正確輸出信息,也就是 standard output 的信息,對(duì)于 stdandard
error 信息沒有直接處理能力。然后,傳遞給下一個(gè)命令,作為標(biāo)準(zhǔn)的輸入 standard input.

添加sort之后的命令為

find . -name '*.py' -exec dirname {} \; | sort -u

運(yùn)行結(jié)果結(jié)果為:

./MongoDB
./test

最后我們?cè)倮胏ut刪除每一個(gè)路勁之前的./字符,參數(shù)-c3-意思提取字符串(起始位置為1)的第3個(gè)字符到最后的子串
最終命令為:

find . -name '*.py' -exec dirname {} \; | sort -u | cut -c3-

運(yùn)行結(jié)果:

MongoDB
test

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 虛擬機(jī)安裝linux系統(tǒng)無法上網(wǎng)的解決方法

    虛擬機(jī)安裝linux系統(tǒng)無法上網(wǎng)的解決方法

    這篇文章主要為大家詳細(xì)介紹了虛擬機(jī)安裝linux系統(tǒng)無法上網(wǎng)的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Linux中虛擬機(jī)宕機(jī)之后解決辦法

    Linux中虛擬機(jī)宕機(jī)之后解決辦法

    這篇文章主要介紹了Linux中虛擬機(jī)宕機(jī)之后解決辦法的相關(guān)資料,這里提供詳細(xì)的解決步驟來說明宕機(jī)該如何解決,需要的朋友可以參考下
    2017-08-08
  • Linux mount掛載和卸載硬盤腳本分享

    Linux mount掛載和卸載硬盤腳本分享

    本文通過腳本給大家分享了linux mount掛載和卸載硬盤的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,感興趣的朋友一起看看吧
    2016-11-11
  • Apache使用.htaccess 屏蔽惡意 User Agent(防蜘蛛)

    Apache使用.htaccess 屏蔽惡意 User Agent(防蜘蛛)

    這篇文章主要介紹了Apache使用.htaccess 屏蔽惡意 User Agent(防蜘蛛),需要的朋友可以參考下
    2016-07-07
  • linux中$符號(hào)的基礎(chǔ)用法總結(jié)

    linux中$符號(hào)的基礎(chǔ)用法總結(jié)

    這篇文章主要給大家介紹了關(guān)于linux中$符號(hào)的基礎(chǔ)用法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用linux系統(tǒng)具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Linux配置靜態(tài)ip的詳細(xì)流程步驟

    Linux配置靜態(tài)ip的詳細(xì)流程步驟

    這篇文章主要給大家分享介紹了關(guān)于Linux配置靜態(tài)ip的詳細(xì)流程步驟,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • linux編譯內(nèi)核的方法

    linux編譯內(nèi)核的方法

    在本篇文章里小編給各位整理的是關(guān)于linux編譯內(nèi)核的方法,有需要的朋友們可以跟著學(xué)習(xí)參考下。
    2020-03-03
  • 在Linux服務(wù)器上安裝Anaconda超詳細(xì)教程

    在Linux服務(wù)器上安裝Anaconda超詳細(xì)教程

    本文檔詳細(xì)介紹了如何在Linux服務(wù)器上安裝Anaconda,并創(chuàng)建及激活虛擬環(huán)境,以及如何在環(huán)境中安裝Pytorch,從下載Anaconda安裝包到解決可能出現(xiàn)的bug,再到設(shè)置環(huán)境變量和驗(yàn)證安裝成功,每個(gè)步驟都配有清晰的說明和操作指令,需要的朋友可以參考下
    2025-02-02
  • Linux中服務(wù)器軟件為什么需要編譯安裝

    Linux中服務(wù)器軟件為什么需要編譯安裝

    這篇文章主要介紹了Linux中服務(wù)器軟件為什么需要編譯安裝,在什么情況下需要編譯安裝,需要的朋友可以參考下
    2014-02-02
  • Linux中chmod權(quán)限設(shè)置方式

    Linux中chmod權(quán)限設(shè)置方式

    本文介紹了Linux系統(tǒng)中文件和目錄權(quán)限的設(shè)置方法,包括chmod、chown和chgrp命令的使用,以及權(quán)限模式和符號(hào)模式的詳細(xì)說明,通過這些命令,用戶可以靈活地控制文件和目錄的訪問權(quán)限
    2025-01-01

最新評(píng)論

阿克苏市| 大英县| 仪征市| 商洛市| 石楼县| 阳高县| 衡水市| 阿拉尔市| 施秉县| 竹山县| 连城县| 馆陶县| 和政县| 开封县| 根河市| 白水县| 江源县| 万源市| 南康市| 阿图什市| 枣庄市| 桐乡市| 呼图壁县| 贺州市| 疏附县| 平江县| 通州市| 云浮市| 花莲县| 阿拉善盟| 合江县| 大城县| 南昌县| 瓮安县| 体育| 奉化市| 尉氏县| 京山县| 禹州市| 汨罗市| 昭平县|