使用場景:
檔案數量統計,在科研場景中,更多是用於檢驗、核對資料集的樣本數量,防止資料遺漏等意外情況。
常用命令:
ls -l | grep "^-" | wc -l
作用:統計當前目錄下,檔案的個數(不包括目錄/資料夾)ls -lR | grep "^-" | wc -l
作用:統計當前目錄下,檔案的個數(包括子目錄中的檔案)ls -lR | grep "^d" | wc -l
作用:統計當前目錄下,資料夾(目錄)的個數(包括子目錄)
命令解析:
-
ls -l
長列表輸出該目錄下檔案資訊(注意這裡的檔案是指目錄、連結、裝置檔案等),每一行對應一個檔案或目錄,
ls -lR
列出所有檔案,包括子目錄。 -
grep "^-"
過濾ls
的輸出資訊,只保留一般檔案,只保留目錄是grep "^d"
,
這裡使用了正規表示式符號^
,表示以...開頭,例如,"^d"
表示以d開頭的行,
在linux檔案系統中,d
表示目錄,-
表示檔案,如下圖:
-
wc -l
統計輸出資訊的行數,一行資訊對應一個結果,所以就是結果個數
示例:
現有Arsenal目錄下的檔案組織形式如下:
Arsenal
|- 1_1.txt
|- 1_2.txt
|- test1_1
|- 2_1.txt
|- test2_1
|- 3_1.txt
|- test2_2
|- 3_2.txt
|- test2_3
|- 3_3.txt
|- test1_2
|- 2_2.txt
|- 2_3.txt
|- test2_4
執行效果:
-
ls -l | grep "^-" | wc -l
輸出結果為:2
統計當前目錄下,檔案的個數(不包括目錄/資料夾),
即:1_1.txt
,1_2.txt
. -
ls -lR | grep "^-" | wc -l
輸出結果為:8
統計當前目錄下,檔案的個數(包括子目錄中的檔案),
即:1_1.txt
,1_2.txt
,2_1.txt
,2_2.txt
,2_3.txt
,3_1.txt
,3_2.txt
,3_3.txt
. -
ls -lR | grep "^d" | wc -l
輸出結果為:6
統計當前目錄下,資料夾(目錄)的個數(包括子目錄),
即:test1_1
,test1_2
,test2_1
,test2_2
,test2_3
,test2_4
.