【Shell】用ls和grep统计文件个数|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
排序
- ls -lS:按照文件所占的大小从大开始排列
- ls -lSr:按文件的大小从小到大来排列
- ls -lt:按文件修改的日期从新到旧来排序
- 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