Linxu命令 - uniq、sort、wc

原创 2016年09月20日 00:18:38

sort

sort 排序

                  -f            #忽略大小写的差异,列如A与a视为编码相同

                  -b           #忽略每行前面开始处的空格字符

                    -M        #以月份的名字来排序,列如JAN,DEC等等的排序方法

                    -n           #使用纯数字 进行排序(默认是以文字形态来排序的)

                      -r            #以相反的顺序来排序

                      -t           #指定排序时所用的栏位分隔字符,默认是用[tab]键来分隔

                     -k           #指定以哪一个区间(field)来进行排序

                     -u          #就是uniq,相同的数据中,仅出现一行代表

                    -o        #  将排序后的结果存入指定的文件

                    -m        #将几个排序好的文件进行合并

       +<起始栏位>-<结束栏位>         # 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位

                     -c           #检查文件是否已经安装顺序排序

                      -T        #指定临时文件目录,默认在/tmp

                   -d          #排序时,处理英文字母、数字及空格字符外,忽略其他的字符

              

[root@CentOS6   ~] cat text
vegetable soup
fresh vegetables
fresh fruit
lowfat milk
[root@CentOS6   ~] Sort text
freshfruit
freshvegetables
lowfat milk
vegetable soup

sort 默认是以 [ 第一个数据 ] 进行排序,而且默认是以 [ 文字 ] 形态来排序的

注意:在源文件的第二、三行上的第一个单词完全相同,该命令将从它们的第二个单词vegetables与fruit的首字符处继续进行比较


在/etc/passwd内容都是以:来分隔的,我想以第三区间来排序如何?

[root@centos6 ~]# cat  /etc/passwd |  sort  -t ':'  -k 3  -n

Op_teach:x:501:504::/home/Op_teach:/bin/bash
Op_office:x:502:508::/home/Op_office:/bin/bash
Op_admin:x:503:506::/home/Op_admin:/bin/bash
Op_finance:x:504:505::/home/Op_finance:/bin/bash
Op_market:x:505:507::/home/Op_market:/bin/bash

不加 -n  的话 默认是以字符形态 来排序的,而这里的第三区间是数字形态,也就是说不加-n,就不会排序


[root@centos6 ~]#        last  |  cut  -d  ' '  -f1  | sort | uniq  -c

[root@centos6 ~]#         sort    -n                                           # 按数字排序

[root@centos6 ~]#           sort      -nr                                       # 按数字倒叙

 [root@centos6 ~]#          sort       -u                                      #过滤重复行

[root@centos6 ~]#          sort        -m    a.txt      c.txt            #将两个文件内容整合到一起 

[root@centos6 ~]#          sort -n -t' ' -k 2 -k 3 a.txt                  # 第二区间相同,将从第三区间进行升降处理
 [root@centos6 ~]#        sort -n -t':' -k 3r a.txt                  # 以:为分割域的第三区间进行倒叙排列
[root@centos6 ~]#         sort -k 1.3 a.txt                        # 从第三个字母起进行排序
[root@centos6 ~]#        sort -t" " -k 2n -u  a.txt               # 以第二区间进行排序,如果遇到重复的,就删除


Uniq

将重复的数据仅列出一个显示,消除重复行

uniq 

              -i     忽略大小写字符的不同

              -c   进行计数

              -d   只显示重复出现的行列



来自: http://man.linuxde.net/uniq

使用last将账号列出,列出登陆次数最多的前两名

[root@centos6 ~]# last   |  cut  -d  ‘’  -f1  |  uniq -c  | sort -rn |  head  -2

41   root

12  reboot


WC

统计文件里有多少行?多少字?多少字符

wc

               -l           仅列出行

              -w           仅列出多少字(英文单词);

              -m           多少字符


例一:/etc/man.config  里面到底有多少相关字、行、字符数?

[root@centos6 ~]# cat   /etc/man.config   | wc

 141              722       4517

  行                字数      字符数


例二:获取这个月份登陆系统的总人次?

[root@centos6 ~]#   last   |  grep   [a-z A-Z ]   | grep   -v   'wtmp'  | wc -l

由于last  会输出空白行与wtmp字样在最底下两行,因此,我利用grep取出非空白行,以及去除wtmp哪一行,在计算行数(一行代表一个用户)


版权声明:本文为博主原创文章,未经博主允许不得转载。

Centos运维常用命令总结

Centos运维常用命令总结 1.删除0字节文件 find-type f -size 0 -exec rm -rf {} \;   2.查看进程 按内存从大到小排列 PS-e   -o "...
  • roy_lxp
  • roy_lxp
  • 2016年12月07日 15:55
  • 655

linux uniq 命令详解

uniq 命令 文字 uniq 是LINUX命令 用途 报告或删除文件中重复的行。 语法 uniq [ -c | -d | -u ] [ -f Fields ] [ -s Ch...
  • jesseen
  • jesseen
  • 2012年09月21日 16:58
  • 60355

sort | uniq -c | sort -rnk 1 在数据统计中的重要用途------按频率排序

我们来看看a.txt文件: taoge@localhost Desktop> cat a.txt 123 456 1111 456 123 123 1 2 3 taoge@localhost Desk...
  • stpeace
  • stpeace
  • 2016年11月20日 13:02
  • 2566

shell中uniq与sort -u 两种去重的对别

sort -u 和 uniq都能起到删除重复信息的功能,那么他们的区别究竟在哪呢? $ cat test               jason jason jason fffff jas...
  • B_H_L
  • B_H_L
  • 2014年03月07日 10:33
  • 45103

Linux Shell脚本编程--Uniq命令

uniq  uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用。也就是说,为了使uniq起作用,所有的重复行必须是相邻的。 uniq语法 [root@www ~]# uniq...

linux sort uniq -c

文档编辑--sort功能说明: 将文本文件内容加以排序。语  法: sort [-bcdfimMnr][-o][-t][+-][--help][--verison][文件]补充说明:sort可针对...

sort及uniq命令使用

sort命令   sort命令的功能是对文件中的各行进行排序。sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的。实际上,sort命令可以被认为是一个非...
  • dboy1
  • dboy1
  • 2012年07月19日 10:05
  • 9732

去重复和排序【sort】【uniq】

Bash综合应用uniq sort 一、Uniq [nick@d01 bash]$ cat uniq.txt boy took bat home boy took ba...

《shell脚本学习指南》学习笔记之入门 四 详细解析linux sort,uniq,cut,wc命令详解

sortsort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。sort语法[ro...

linux sort,uniq,cut,wc命令详解

sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。 sort语法 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linxu命令 - uniq、sort、wc
举报原因:
原因补充:

(最多只允许输入30个字)