在 Linux 系统中,有一些常用的命令可以用来收集和统计数据。
一、常用统计命令的使用场景
日志分析和监控:通过使用 Linux 统计命令,可以实时监控和分析系统日志文件,了解系统的运行状况和性能指标。例如,使用 tail 命令结合 grep 和 awk 进行日志过滤和关键信息提取,使用 wc 命令统计日志文件的行数或字数等。
文本处理和文件操作:Linux 统计命令可以通过行、字或字符统计给定文本文件的大小、字数、行数等。同时,还可以对文件进行排序、合并、去重、拆分等操作,以满足文件处理的需求。
数据清洗和预处理:在数据处理流程中,Linux 统计命令可以用于清洗和预处理原始数据。例如,使用 sed 命令进行文本替换、使用 cut 命令截取特定字段、使用 uniq 命令去重数据等。
二、常用统计命令的使用
(一)排序 sort
可以通过参数限制排序的分隔符、关键字以及排序规则。
sort [参数]
常用参数:
-b:忽略开头的空白字符。
-f:将小写字母看做大写字母。
-h:根据存储容量从小到大排序(KB、MB、GB)。
-n:按数字大小从小到大排序。
-r:以相反(从大到小)的顺序来排序。
-o:把排序结果写入新文件中。
-t:指定分隔符,默认为空格,后跟分隔符。
-k:指定分隔符排序的列数关键字,后跟数字,与 -t 参数配合使用。
-V:按照数字版本从小到大排序。
(二)去重 uniq
去重命令只对比前后两行是否有重复内容,所以在去重之前应先对文件内容进行排序。
uniq [参数]
常用参数:
-c:统计重复出现的次数,会展示在第一列。
-d:所有邻近的重复行只被打印一次。重复次数要大于等于 2。(只出现一次的就会被隐藏起来)
-D:所有邻近的重复行将全部打印,只出现一次的就会被隐藏起来。
-f:跳过对前 n 个列的比较。
-s:跳过对前 n 个字符的比较。
-w:只对每行前 n 个字符进行比较是否重复。
(三)统计 wc(重点)
wc是word count的缩写
只输入 wc 不加任何参数的话,会依次打印行数、单词数、字节数。
wc [参数]
常用参数:
-c:统计字节数
-l:统计行数
-w:统计单词数(被空格分开的连续的字符就被认为是单词)
-L:打印最长行的长度(字节数),不包含最后的换行符。(中间的一个空格也算一个字符)