Linux用ls和grep統計文件個數

Linux ls命令

Linux ls命令用於顯示指定工作目錄下之內容(列出目前工作目錄所含之文件及子目錄)。

語法
ls [-alrtAFR] [name...]

參數 :

  • -a 顯示所有文件及目錄 (ls內定將文件名或目錄名稱開頭爲"."的視爲隱藏檔,不會列出)
  • -l 除文件名稱外,亦將文件型態、權限、擁有者、文件大小等資訊詳細列出
  • -r 將文件以相反次序顯示(原定依英文字母次序)
  • -t 將文件依建立時間之先後次序列出
  • -A 同 -a ,但不列出 “.” (目前目錄) 及 “…” (父目錄)
  • -F 在列出的文件名稱後加一符號;例如可執行檔則加 “*”, 目錄則加 “/”
  • -R 若目錄下有文件,則以下之文件亦皆依序列出

運行ls -l命令之後,終端輸出的結果是一行一行的字符,每一行字符對應一個目錄或者是文件,如果是文件的話,該行的字符串信息的第一個字符顯示的是“-”,如果是目錄的話,該行的字符的第一個顯示的是"d",意即directory,找到這兩者之間的區別,運行能夠判別第一個字符的命令

統計文件個數

統計當前文件夾下文件的個數,包括子文件夾裏的

ls -lR | grep "^-" | wc -l

統計文件夾下目錄的個數,包括子文件夾裏的

ls -lR | grep "^d" | wc -l

統計當前文件夾下文件的個數

ls -l |grep "^-"|wc -l

統計當前文件夾下目錄的個數
統計某文件夾下文件個數,不包括子文件夾
e.g. 統計/home下.JPEG文件的個數

ls -l "/home" | grep ".jpeg" | wc -l

統計某文件夾下文件個數,包括子文件夾
e.g. 統計/home下,包括子文件夾中,.JPEG文件的個數

ls -lR "/home" | grep ".jpeg" | wc -l
附:

統計輸出信息的行數

wc -l

將長列表輸出信息過濾一部分,只保留一般文件,如果只保留目錄就是 ^d

grep "^-"
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章