Linux文本数据的分类&去重&统计操作

    技术2026-08-20  8

    常用的命令


    一、Linux sort命令

    说明: 操作文本文件的内容,以行为单位进行操作取每行的第一列值,转换为ASCII码值比较每行转换后的ASCII码值,升序排列 语法: sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]

    参数:

    -b 忽略每行前面开始出的空格字符。-c 检查文件是否已经按照顺序排序。-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。-f 排序时,将小写字母视为大写字母。-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。-m 将几个排序好的文件进行合并。-M 将前面3个字母依照月份的缩写进行排序。-n 依照数值的大小排序。-u 意味着是唯一的(unique),输出的结果是去完重了的。-o<输出文件> 将排序后的结果存入指定的文件。-r 以相反的顺序来排序。-t<分隔字符> 指定排序时所用的栏位分隔字符。+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。–help 显示帮助。–version 显示版本信息。

    实例: 1、创建test.txt文件,并写入无序内容a,b,c,如下图: 2、使用sort命令对文本进行排序,如下图:

    二、Linux uniq 命令

    说明: 用于检测和删除文本中重复出现的行和列。 语法: uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

    参数:

    -c或–count 在每列旁边显示该行重复出现的次数。-d或–repeated 仅显示重复出现的行列。-f<栏位>或–skip-fields=<栏位> 忽略比较指定的栏位。-s<字符位置>或–skip-chars=<字符位置> 忽略比较指定的字符。-u或–unique 仅显示出一次的行列。-w<字符位置>或–check-chars=<字符位置> 指定要比较的字符。–help 显示帮助。–version 显示版本信息。[输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据;[输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。

    实例: 备注:如果重复的行列不相邻,uniq是无法做到去重操作的,从上图也可以看到,所以一般要结合sort使用,先排序,让重复行列相邻,然后通过uniq命令进行去重。

    三、 Linux wc命令

    说明:

    用于统计文本的行数、字数、字节数。

    语法:

    wc [-clw][--help][--version][文件...] 参数: -c或–bytes或–chars 只显示Bytes数。-l或–lines 只显示行数。-w或–words 只显示字数。–help 在线帮助。–version 显示版本信息。 实例:
    Processed: 0.013, SQL: 9