千家信息网

shell脚本之正则表达式(四)---sort与uniq工具

发表于:2024-10-27 作者:千家信息网编辑
千家信息网最后更新 2024年10月27日,sort 工具sort 是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。sort 语法sort [选项] 参数sort常用选项-f:忽略大小写-b:忽略每行前面的空格-M:按
千家信息网最后更新 2024年10月27日shell脚本之正则表达式(四)---sort与uniq工具

sort 工具

sort 是一个以行为单位对文件内容进行排序的工具,也可以根据不同的数据类型来排序。

sort 语法

sort [选项] 参数

sort常用选项

-f:忽略大小写-b:忽略每行前面的空格-M:按照月份进行排序-n:按照数字进行排序-r:反向排序-u:表示相同的数据仅显示一行(去除不连续的重复)-t:指定分隔符,默认使用[Tab]键分隔-o <输出文件>:将排序后的结果转存至指定文件-k:指定排序区域

范例演示

将/etc/passwd 文件中第三列进行排序,并将输出内容保存至user.txt 文件中

[root@localhost ~]# sort -t ':' -k 3 /etc/passwd -o user.txt          //将/etc/passwd 文件中第三列进行排序,并将输出内容保存至user.txt 文件中[root@localhost ~]# cat user.txt         //查看文件root:x:0:0:root:/root:/bin/bashczt:x:1000:1000:czt:/home/czt:/bin/bashccc:x:1001:1001::/home/ccc:/bin/bash......


uniq 工具

Uniq 工具在 Linux 系统中通常与 sort 命令结合使用,用于报告或者忽略文件中的重复行。

uniq语法

uniq [选项] 参数

uniq常用选项

-c:进行计数-d:仅显示重复行-u:仅显示出现一次的行(仅去除连续的重复)

范例演示

删除 testfile 文件中的重复行,并在行首显示该行重复出现的次数

[root@localhost ~]# vim testfileLinux 10Linux 20Linux 30Linux 30Linux 30CentOS 6.5CentOS 6.5CentOS 6.5CentOS 7.3CentOS 7.3CentOS 7.3[root@localhost ~]# uniq -c testfile          //*删除 testfile 文件中的重复行,并在行首显示该行重复出现的次数      1 Linux 10      1 Linux 20      3 Linux 30      3 CentOS 6.5      3 CentOS 7.3
0