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

猜你喜欢

转载自blog.csdn.net/qq_36653505/article/details/86480309