Linxu命令 - uniq、sort、wc

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哪一行,在计算行数(一行代表一个用户)


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sort命令用于对文件进行排序,可以按照字母、数字等方式排序。 uniq命令用于去除文件中的重复行,可以用于统计文件中不同行的数量。 wc命令用于统计文件中的行数、单词数和字符数等信息,可以用于分析文件的内容。 ### 回答2: Linux sort命令是用来对文本文件进行排序的命令。它可以按照不同的排序规则,包括字母顺序、数字顺序、日期顺序等对文件进行排序。sort命令默认按照字母顺序进行排序,但可以使用参数来改变排序规则。sort命令可以从命令行或者文件中读取输入,然后将排序结果输出到标准输出或者文件中。 Linux uniq命令用于去除文件中的重复行。uniq命令默认情况下只能去除相邻的重复行,如果想要去除非相邻的重复行,需要先使用sort命令将文件进行排序,然后再使用uniq命令uniq命令可以从命令行或者文件中读取输入,并将去除重复行的结果输出到标准输出或者文件中。 Linux wc命令用于统计文件中的行数、字数和字符数。wc命令可以从命令行或者文件中读取输入,并将统计结果输出到标准输出或者文件中。wc命令默认情况下会输出一个包括行数、字数和字符数的行。可以使用参数来改变输出格式,如只输出行数、只输出字数、只输出字符数等。wc命令在处理大文件时非常高效。 以上是对Linux sortuniqwc命令的简要介绍。这些命令在Linux系统中非常有用,可以帮助我们对文件进行排序、去除重复行和统计信息。它们具有丰富的参数选项,可以根据不同的需求进行灵活的使用。 ### 回答3: Linux中的sort命令是用来排序文本文件内容的命令,它能够按照字母顺序对每一行进行排序。sort命令的一般语法为:sort [选项] [文件名]。 -sort命令的一些常用选项有: -n,按照数值进行排序; -r,按照逆序进行排序; -u,去除重复的行; -k n,按照指定的列进行排序,n为列号; -o,将排序结果输出到指定的文件。 uniq命令用于去除文本文件中相邻的重复行。它能够检测和去除由sort命令排序之后的重复行。uniq命令的一般语法为:uniq [选项] [文件名]。 -uniq命令的一些常用选项有: -c,显示每行出现的次数; -d,仅显示重复的行; -u,仅显示没有重复的行; -i,忽略大小写。 wc命令用于统计文件中的行数、字数和字节数。wc命令的一般语法为:wc [选项] [文件名]。 -wc命令的一些常用选项有: -l,仅统计行数; -w,仅统计字数; -c,仅统计字节数; -m,统计字符数,包括空格。 这三个命令在Linux中广泛应用于文本文件的处理和统计工作。通过组合使用这些命令,我们可以实现对文本文件的排序、去重和统计工作,提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值