前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux中的管道命令(四)

Linux中的管道命令(四)

作者头像
mwangblog
发布2018-08-02 15:51:14
1.3K0
发布2018-08-02 15:51:14
举报
文章被收录于专栏:mwangblogmwangblog

uniq

uniq程序查找连续重复的行,一般用于有序数据的查重。

下面是fruit文件的内容:

代码语言:javascript
复制
$ cat fruit
apple
apple
banana
grape
grape
grape
peach
pear
pear
watermelon

uniq程序在没有任何命令选项的情况下,对输入去除重复行后输出:

代码语言:javascript
复制
$ uniq fruit
apple
banana
grape
peach
pear
watermelon

它有几个常用的命令选项:

  • -c:去除重复行后输出,在每行前标明重复次数。
  • -u:仅输出不重复的行。
  • -d:仅输出重复行。

下面是几个例子:

代码语言:javascript
复制
$ uniq -c fruit # 在每行前标明重复次数
      2 apple
      1 banana
      3 grape
      1 peach
      2 pear
      1 watermelon
$ uniq -d fruit # 仅输出重复行
apple
grape
pear
$ uniq -u fruit # 仅输出不重复行
banana
peach
watermelon
$ uniq -cd fruit # 仅输出重复行,并标明重复次数
      2 apple
      3 grape
      2 pear

sort

sort程序对文件内容按行进行排序。

首先来看city文件的内容:

代码语言:javascript
复制
$ cat city
Chengdu
Tsinan
Ningpo
Canton
Tsinan
Sining
Sining
Taipei
Canton

city文件是一个没有排序的文件,sort同学可以帮我们把它变成排序好的:

代码语言:javascript
复制
$ sort city
Canton
Canton
Chengdu
Ningpo
Sining
Sining
Taipei
Tsinan
Tsinan

然而事实上并没有写入文件,使用-o选项指定输出文件:

代码语言:javascript
复制
$ sort -o citysort city

这条命令中sortcity文件中的内容排序后写入到citysort中。

使用-f命令选项使sort忽略大小写差异。

使用-c命令选项查看文件是否是排序好的:

代码语言:javascript
复制
$ sort -c city
sort: city:3: disorder: Ningpo

sort告诉我们city文件从Ningpo开始是未排序的。

-u选项使sort对文件内容进行排序,并去除重复行:

代码语言:javascript
复制
$ sort -u city
Canton
Chengdu
Ningpo
Sining
Taipei
Tsinan

还有一个很重要的选项,就是-r选项,它使sort反向排序:

代码语言:javascript
复制
$ sort -ru city
Tsinan
Taipei
Sining
Ningpo
Chengdu
Canton

相关:还有很多有用的过滤器,比如expand、fmt、join等等,您可以使用man查看使用说明。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 mwangblog 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • uniq
    • sort
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档