使用場景: 文件數量統計,在科研場景中,更多是用於檢驗、核對數據集的樣本數量,防止數據遺漏等意外情況。 常用命令: ls -l | grep "^-" | wc -l 作用:統計當前目錄下,文件的個數(不包括目錄/文件夾) ls -lR | grep "^-" | wc -l 作用:統計當前目錄下, ...
使用場景:
文件數量統計,在科研場景中,更多是用於檢驗、核對數據集的樣本數量,防止數據遺漏等意外情況。
常用命令:
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
.