1. 程式人生 > >Linux統計檔案、目錄個數,檔案行數

Linux統計檔案、目錄個數,檔案行數

1.Linux下統計當前資料夾下的檔案個數、目錄個數:

ls |wc -l  統計當前目錄下的非隱藏目錄和非隱藏檔案的個數

ls -a |wc -l   統計當前目錄下的所有檔案和目錄的個數實際數目

find./  |wc -l  統計當前目錄下的所有檔案包括隱藏檔案和資料夾

ls -l|grep "^-"|wc -l  統計當前資料夾下檔案的個數

ls -l|grep "^d"|wc -l  統計當前資料夾下目錄的個

ls -lR|grep "^-"|wc -l  統計當前資料夾下檔案的個數,包括子資料夾裡的

ls -lR|grep "^d"|wc -l   統計資料夾下目錄的個數,包括子資料夾裡的


說明:

ls -l :長列表輸出當前資料夾下檔案資訊(注意這裡的檔案,不同於一般的檔案,可能是目錄、連結、裝置檔案等)

grep"^-":這裡將長列表輸出資訊過濾一部分,只保留一般檔案,如果只保留目錄就是 ^d

wc -l:統計輸出資訊的行數,因為已經過濾得只剩一般檔案了,所以統計結果就是一般檔案資訊的行數,又由於一行資訊對應一個檔案,所以也就是檔案的個數。

2.linux統計檔案行數:

語法:wc [選項] 檔案…

說明:該命令統計給定檔案中的位元組數、字數、行數。如果沒有給出檔名,則從標準輸入讀取。wc同時也給出所有指定檔案的總統計數。字是由空格字元區分開的最大字串。

該命令各選項含義如下:

  - c 統計位元組數。

  - l 統計行數。

  - w 統計字數。

這些選項可以組合使用。

輸出列的順序和數目不受選項的順序和數目的影響。

總是按下述順序顯示並且每項最多一列。

行數、字數、位元組數、檔名

如果命令列中沒有檔名,則輸出中不出現檔名。

例如:

$ wc - lcw file1 file2
4 33 file1
7 52 file2
11 11 85 total

舉例分析:

1.統計demo目錄下,js檔案數量:

find demo/ -name "*.js" |wc -l

2.統計demo目錄下所有js檔案程式碼行數:

find demo/ -name "*.js" |xargs cat|wc -l 或 
wc -l `find ./ -name "*.js"`|tail -n1

3.統計demo目錄下所有js檔案程式碼行數,過濾了空行:

find /demo -name "*.js" |xargs cat|grep -v ^$|wc -l