【Shell】用ls和grep統計文件個數|ls 統計行數|統計個數


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 "^-"

 

排序 

  1. ls -lS:按照文件所占的大小從大開始排列
  2. ls -lSr:按文件的大小從小到大來排列
  3. ls -lt:按文件修改的日期從新到舊來排序
  4. ls -lrt:按文件修改的日期從舊到新來排序

注意:-r就是倒序

 

統計

  1. ls -l|grep ^d|wc -l 10:統計此目錄下的文件夾的數量
  2. ls -l|grep ^-|wc -l 2:統計此目錄下的文件的數量

原文:

https://blog.csdn.net/qq_36653505/article/details/86480309

https://blog.csdn.net/sumengnan/article/details/109259579

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM