成都网站建设设计

将想法与焦点和您一起共享

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/bash
czt:x:1000:1000:czt:/home/czt:/bin/bash
ccc:x:1001:1001::/home/ccc:/bin/bash
......


uniq 工具

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

uniq语法

uniq [选项] 参数

uniq常用选项

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

范例演示

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

[root@localhost ~]# vim testfile
Linux 10
Linux 20
Linux 30
Linux 30
Linux 30
CentOS 6.5
CentOS 6.5
CentOS 6.5
CentOS 7.3
CentOS 7.3
CentOS 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

名称栏目:shell脚本之正则表达式(四)---sort与uniq工具
标题网址:http://chengdu.cdxwcx.cn/article/iiccji.html