sort,uniq,wc指令简单用法

简介:

sort用于排序,可以根据不同的数据类型来进行排序,例如想要查看最后一个登陆的用户信息,可以把last和sort结合起来使用,按照登陆时间排序。

使用sort排序:

sort常用参数:

-f :忽略大小写的差异

-b:忽略最前面的空格符部分

-M:以月份的名字排序

-n:使用纯数字排序(默认为以文字类型排序)

-r:反向排序

-u:去除重复行,重复的数据只显示一次

-t:分隔符,默认为tab为分隔符

-k:以哪个区间来排序

 

1
2
3
4
5
6
7
8
9
10
11
12
[whx@localhost  test ]$ last |  sort
  
reboot  system boot  2.6.32-696.el6.x MonAug 21 19:42 - 03:22  (07:40)   
reboot  system boot  2.6.32-696.el6.x SunAug 20 22:50 - 03:08  (04:17)   
reboot  system boot  2.6.32-696.el6.x ThuAug 17 18:38 - 02:57  (08:18)   
reboot  system boot  2.6.32-696.el6.x ThuJul 20 03:25 - 18:03  (14:37)   
reboot  system boot  2.6.32-696.el6.x WedAug 23 01:17 - 03:15  (01:57)   
reboot  system boot  2.6.32-696.el6.x WedAug 23 18:15 - 20:14  (01:58)   
reboot  system boot  2.6.32-696.el6.x WedJul 19 09:39 - 03:24  (17:45)   
whx    pts /0      :0.0       Thu Aug 17 18:40 - 02:57  (08:16)   
whx    pts /0      :0.0       Thu Jul 20 03:23 - down  (00:01)   
...

 

以:为分隔符,以第4区间按照数字排序:

1
2
3
4
5
6
7
8
9
10
[whx@localhost  test ]$  cat   /etc/passwd  sort  -t  ':'  -k 4 -n
halt:x:7:0:halt: /sbin : /sbin/halt
operator:x:11:0:operator: /root : /sbin/nologin
root:x:0:0:root: /root : /bin/bash
shutdown :x:6:0: shutdown : /sbin : /sbin/shutdown
sync :x:5:0: sync : /sbin : /bin/sync
bin:x:1:1:bin: /bin : /sbin/nologin
daemon:x:2:2:daemon: /sbin : /sbin/nologin
adm:x:3:4:adm: /var/adm : /sbin/nologin
lp:x:4:7:lp: /var/spool/lpd : /sbin/nologin

 

使用sort排序并去除重复数据:

1
2
3
4
5
[whx@localhost  test ]$  last |  cut  -d  ' '  -f 1 | sort  -u
  
reboot
whx
wtmp

也可以用uniq来去除重复数据:

1
2
3
4
5
[whx@localhost  test ]$ last |  cut  -d  ' '  -f1 | sort | uniq
  
reboot
whx
wtmp

 

uniq 的作用是将重复行去重,使得显示出来的每一行都是唯一的,配合参数也可以只查看文件中有哪些重复的行,重复次数是多少,例如查看每个用户的登陆总次数。

参数:

-c:统计次数

-i:忽略大小写

-d:列出重复的行

-u:列出不重复的行

 

使用sort排序并去除重复数据,统计出现次数:

1
2
3
4
[whx@localhost  test ]$  uniq  -c . /test .txt
      3 >   test  test   def def def acb
      2 >  test1  test   def def def acb
      1 >  test1  test   def def def ac

 

查看每个用户的登陆总次数:

1
2
3
4
5
[whx@localhost  test ]$ last |  cut  -d  ' '  -f1 | sort  | uniq  -c
      1
      7 reboot
     25 whx
      1 wtmp

 

不添加参数(列出文件中行,重复的行只显示一次)

1
2
3
4
[whx@localhost  test ]$  uniq  . /test .txt
test  test   def def def acb
> test1  test   def def def acb
> test1  test   def def def ac

 

使用-d参数列出重复行,每个重复的行显示一次;

1
2
3
[whx@localhost  test ]$  uniq  -d . /test .txt
test  test   def def def acb
> test1  test   def def def acb

 

使用-u参数列出不重复的行

1
2
[whx@localhost  test ]$  uniq  -u . /test .txt
> test1  test   def def def ac

 

wc用于统计文件行数,字数,字符数等信息。

参数:

-l:仅列出行数量

-w:仅列出字数量

-m:仅列出字符数量

 

统计last的行数,字数,字符数:

1
2
[whx@localhost  test ]$ last |  wc
     34     334    2502  -- 依次代表行数,字数,字符数

 

查看test.txt的行数,字数,字符数:

1
2
[whx@localhost  test ]$  wc  . /test .txt
  6  42 183 . /test .txt

 

查看test.txt的字节数:

1
2
[whx@localhost  test ]$  wc  -c . /test .txt
183 . /test .txt



本文转自 天黑顺路 51CTO博客,原文链接:http://blog.51cto.com/mjal01/1959008,如需转载请自行联系原作者
相关文章
|
Shell Linux
Linux中常用的文本处理命令(echo、sort、uniq、tr、cut、split、eval)(上)
1、echo命令——输出 echo 命令主要用来显示字符串信息。
369 0
|
6月前
|
Linux
Linux指令|more|less|head|tail|管道|sort|wc|uniq
Linux指令|more|less|head|tail|管道|sort|wc|uniq
|
Linux Shell
Linux中常用的文本处理命令(echo、sort、uniq、tr、cut、split、eval)(下)
1、echo命令——输出 echo 命令主要用来显示字符串信息。
250 0
|
Perl
sort、uniq、cut命令操作
sort、uniq、cut命令操作
107 0
|
Unix Linux Shell
字符操作命令:cut、printf、awk、sed、sort、wc
cut 命令 cut命令用来显示行中的指定部分