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 "^-"
赞 (0)