【Shell】用ls和grep统计文件个数|ls 统计行数|统计个数|统计代码行数

目录

 

统计

统计目录下文件的代码的总行数

统计文件个数

统计目录的个数

排序 

ls 简介


统计

统计目录下文件的代码的总行数

find . -name "*.cpp"|xargs cat|grep -v ^$|wc -l
find . -name "*.h"|xargs cat|grep -v ^$|wc -l
 

统计文件个数

递归:ls -lR | grep "^-" | wc -l

不递归:ls -l |grep "^-"|wc -l

指定统计目录和文件类型:

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

不递归:ls -l "/home" | grep ".jpeg" | wc -l

统计目录的个数

递归:ls -lR | grep "^d" | wc -l

 

排序 

  1. ls -lS:按照文件所占的大小从大开始排列
  2. ls -lSr:按文件的大小从小到大来排列
  3. ls -lt:按文件修改的日期从新到旧来排序
  4. ls -lrt:按文件修改的日期从旧到新来排序

注意:-r就是倒序

附:

统计输出信息的行数

wc -l

将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d

grep "^-"

 

ls 简介

ls [-alrtAFR] [name...]

参数 :

  • -a 显示所有文件及目录 (ls内定将文件名或目录名称开头为"."的视为隐藏档,不会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -r 将文件以相反次序显示(原定依英文字母次序)
  • -t 将文件依建立时间之先后次序列出
  • -A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
  • -F 在列出的文件名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
  • -R 若目录下有文件,则以下之文件亦皆依序列出

运行ls -l命令之后,终端输出的结果是一行一行的字符,每一行字符对应一个目录或者是文件,如果是文件的话,该行的字符串信息的第一个字符显示的是“-”,如果是目录的话,该行的字符的第一个显示的是"d",意即directory,找到这两者之间的区别,运行能够判别第一个字符的命令

原文:

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

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

 

posted on 2022-10-04 01:24  bdy  阅读(66)  评论(0编辑  收藏  举报

导航