Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6318349
  • 博文数量: 2759
  • 博客积分: 1021
  • 博客等级: 中士
  • 技术积分: 4091
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-11 14:14
文章分类

全部博文(2759)

文章存档

2019年(1)

2017年(84)

2016年(196)

2015年(204)

2014年(636)

2013年(1176)

2012年(463)

分类: 系统运维

2015-06-04 06:31:34

Linuxsortuniqwc命令常用参数举例解析

一.文本排序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. 显示重复行行数 -ccount                 
   

只显示非重复行  -uunique
       

3. 只显示重复行 -drepeated

[root@server74 sort]# uniq -d sort_default 

44

4. 只显示重复行,并且记录重复的行数 -c  -d

[root@server74 sort]# uniq -c -d sort_default 

      2 44

三.文本统计wc

manwc命令即可查到它的很多用法,一般常用的有一下几个参数:

l -c, --bytesprint the byte counts统计字节数

l -m, --charsprint the character counts统计字符数

l -w, --wordsprint the word counts统计字数

l  -l, --linesprint the newline counts统计行数

l -L, --max-line-lengthprint 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

阅读(2040) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~