日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

服务器内提取文件,linux命令如何提取文件夹内特定文件路径

發(fā)布時(shí)間:2023/12/19 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 服务器内提取文件,linux命令如何提取文件夹内特定文件路径 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

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

發(fā)布時(shí)間:2020-07-20 16:35:25

來源:億速云

閱讀:102

作者:小豬

欄目:服務(wù)器

這篇文章主要為大家展示了linux命令如何提取文件夾內(nèi)特定文件路徑,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

最近需要實(shí)現(xiàn)自動化搜尋特定文件夾下的特定文件,并且需要分別保存文件路徑與文件名。算然使用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 的信息,對于 stdandard

error 信息沒有直接處理能力。然后,傳遞給下一個(gè)命令,作為標(biāo)準(zhǔn)的輸入 standard input.

添加sort之后的命令為

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

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

./test

最后我們再利用cut刪除每一個(gè)路勁之前的./字符,參數(shù)-c3-意思提取字符串(起始位置為1)的第3個(gè)字符到最后的子串

最終命令為:

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

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

test

以上就是關(guān)于linux命令如何提取文件夾內(nèi)特定文件路徑的內(nèi)容,如果你們有學(xué)習(xí)到知識或者技能,可以把它分享出去讓更多的人看到。

總結(jié)

以上是生活随笔為你收集整理的服务器内提取文件,linux命令如何提取文件夹内特定文件路径的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。