五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

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

發(fā)布日期:2022-02-04 10:31 | 文章來源:站長之家

最近需要實(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

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

美國服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部