您的位置:首页 > 其它

cut,sort,uniq

2015-10-30 19:03 211 查看
cut

cut参数详解
选项
注释
-b
字节为单位进行分割。
-c字符为单位进行分割。
-d自定义分隔符,默认为制表符。
-f与-d一起使用,指定显示哪个区域。
-n取消分割多字节字符。仅和 -b 标志一起使用。
注解:
cut使用三种定位方式:b(bytes),c(characters),d(fields)

cut只擅长处理“以一个字符间隔”的文本内容.

sort

sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

sort参数详解
选项注释
-t
分隔符,默认使用tab键来分隔
-k以那个区间(field)来进行排序的意思,与-t连用
-n
使用纯数字进行排序
-r
反向排序
-u相同的数据中,仅出现一行代表
-f忽略大小写,A和a视为等
-o将结果输出到原文件,即可以直接输出到原文件中,将原文件替换
-b忽略前面的空格部分
实例

1.sort默认是以第一个字母排序

[root@web scripts]# sort passwd
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/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
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
2.-r反向排序
[root@web scripts]# sort -r passwd
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
root:x:0:0:root:/root:/bin/bash
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
daemon:x:2:2:daemon:/sbin:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
3.-k和-t的组合,-t指定分割符,-k指定第几个域
[root@web scripts]# sort -k3 -t: passwd
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
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
4.-n以纯数值排序,下面是以用户的uid的值排序
[root@web scripts]# sort -n -k3 -t: 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
5.-u删除重复的行,将为/sbin/nologin的重复用户删除

[root@web scripts]# sort -u -k7 -t: passwd
root:x:0:0:root:/root:/bin/bash
sync:x:5:0:sync:/sbin:/bin/sync
halt:x:7:0:halt:/sbin:/sbin/halt
bin:x:1:1:bin:/bin:/sbin/nologin
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
uniq

报告或删除文件中重复的行,长于sort连用,也就是说删除重复的行必须是相邻的!
选项
注释
-c
在输出行前面加上每行在输入文件中出现的次数。
-d仅显示重复行。
-u仅显示不重复的行。
实例

1、查看并统计/etc/passwd文件中有几种bash用户
[root@web ~]# cat /etc/passwd|cut -d: -f7|sort|uniq -c
1 /bin/bash
1 /bin/sync
1 /sbin/halt
24 /sbin/nologin
1 /sbin/shutdown
2、仅显示并统计重复的bash

[root@web ~]# cat /etc/passwd|cut -d: -f7|sort|uniq -dc
24 /sbin/nologin
3、仅显示不重复的bash

[root@web ~]# cat /etc/passwd|cut -d: -f7|sort|uniq -u
/bin/bash
/bin/sync
/sbin/halt
/sbin/shutdown

本文出自 “挨刀客” 博客,请务必保留此出处http://chboy.blog.51cto.com/9959876/1708170
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: