码迷,mamicode.com
首页 > 系统相关 > 详细

Linux的sort、uniq、wc命令

时间:2015-07-13 18:56:54      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

转自:http://10495845.blog.51cto.com/10485845/1671771

一.文本排序sort
1.sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的。排序关键字定义了用来排序的最小的字符序列。缺省情况下以整行为关键字按”ASCII字符顺序”进行排序。例:
1.  [root@server74 sort]# cat sort_default     ##示例文件
23
123
345
111
44
333
678
[root@server74 sort]# sort sort_default
111
123
23
333
345
44
678
Sort默认排序并非按数值大小,而是按ASCII字符顺序依次排序,若第一个字符相同,则比较第二个字符,直到出现不相同字符,用升序进行排列。
2.若按数值大小进行排序,则需要用到sort的参数:
-n:--numeric-sort数值顺序
[root@server74 sort]# sort -n sort_default     //若需逆序排序,加-r(reverse)参数
23
44
111
123
333
345
678
3.对某个文件的某个特定字段进行排序,以/etc/passwd文件为例,以第三个字段为关键字段,对数值进行升序排序:
  -k: --key=POS1指定以哪个字段为关键字进行排序
  -t: --field-separator=SEP指定分隔符
[root@server74 sort]# sort -t: -k3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
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
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
二.Uniq
1.uniq默认重复的行只显示一次(重复行指的是相同且相邻):
[root@server74 sort]# cat sort_default     ##实例文件
23
123
345
111
44   相同且相邻
44
333
678
44    与上相同但不相邻
[root@server74 sort]# uniq sort_default
23
123
345
111
44
333
678
44
2. 显示重复行行数 -c:count                 
   

只显示非重复行  -u:unique
       
3. 只显示重复行 -d:repeated
[root@server74 sort]# uniq -d sort_default
44
4. 只显示重复行,并且记录重复的行数 -c  -d
[root@server74 sort]# uniq -c -d sort_default
      2 44
三.文本统计wc
man下wc命令即可查到它的很多用法,一般常用的有一下几个参数:
l -c, --bytes:print the byte counts统计字节数
l -m, --chars:print the character counts统计字符数
l -w, --words:print the word counts统计字数
l  -l, --lines:print the newline counts统计行数
l -L, --max-line-length:print the length of the longest line统计最长行的长度
以test文本文件为例:
[root@server74 sort]# cat test
hello world
welcome to China
23
123
345
111
linux is important
44
44
333
[root@server74 sort]# wc -c test
74 test
[root@server74 sort]# wc -m test
74 test
[root@server74 sort]# wc -w test
15 test
[root@server74 sort]# wc -l test
11 test
[root@server74 sort]# wc -L test
18 test

Linux的sort、uniq、wc命令

标签:

原文地址:http://my.oschina.net/u/2408078/blog/478015

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!