欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

如何使用Shell遍歷目錄及其子目錄中的所有文件

錢琪琛2年前49瀏覽0評論

如何使用Shell遍歷目錄及其子目錄中的所有文件?

看題目應該是Linux下的shell吧,我就以Linux為例來解答此題目了。使用Shell遍歷目錄及其子目錄中的所有文件,老規矩,先問題分解:

獲取某目錄及該目錄中的子目錄的所有文件列表

循環對獲取的文件列表進行處理

隆重介紹一下find命令,獲取文件列表

find本來是用來遞歸查找文件的,當我們把關鍵字參數去掉之后,就可以實現遍歷的功能。當設置遞歸的深度為2時,就可以滿足我們解答本題的需求。為了演示,我先設置了一個目錄man,下面有一些文件和目錄:

我們來執行下面的命令,獲取目錄man和它下面的文件,以及子目錄下的文件:

find man -maxdepth 2

這句命令的含義是在man目錄下進行深度為2的遍歷查找文件,因為沒有設置查找條件,所以每遇到一個文件都滿足查找條件,文件名就會被打印出來:

寫出循環,實現完整的功能

使用for循環,遍歷find語句提供的列表:

也可以寫成一行在終端直接運行:

for i in $(find man -maxdepth 2); do echo $i; done

大功告成!

補充一點,如果不需要遍歷到man和ager這兩個目錄的話,在find語句中加一個參數-type f,就只剩下文件了。

for i in $(find man -maxdepth 2 -type f); do echo $i; done

總結一下,Linux下使用終端操作時,遇到這種需求一定要先進行問題分解,不要忙于找現成的命令,根本還是要熟悉find的運用,可以事半功倍。得到文件列表之后,再進行遍歷的操作。

如果我的回答對你有點價值,請莫忘點贊加關注,謝謝!歡迎在評論區發表各種意見!

本文為作者原創,嚴禁轉載,違者必究。

java遍歷打印語句,如何使用Shell遍歷目錄及其子目錄中的所有文件