cut,sort,uniq
2015-10-30 19:03
211 查看
cut
cut参数详解
注解:
cut使用三种定位方式:b(bytes),c(characters),d(fields)
cut只擅长处理“以一个字符间隔”的文本内容.
sort
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
sort参数详解
实例
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连用,也就是说删除重复的行必须是相邻的!
实例
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
选项 | 注释 |
-b | 以字节为单位进行分割。 |
-c | 以字符为单位进行分割。 |
-d | 自定义分隔符,默认为制表符。 |
-f | 与-d一起使用,指定显示哪个区域。 |
-n | 取消分割多字节字符。仅和 -b 标志一起使用。 |
cut使用三种定位方式:b(bytes),c(characters),d(fields)
cut只擅长处理“以一个字符间隔”的文本内容.
sort
sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
选项 | 注释 |
-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
相关文章推荐
- Android-ble蓝牙开发略解
- Warning - bad CRC, using default environment
- 第九周-项目2 - 对称矩阵压缩存储的实现与应用
- 如何提交代码给openstack
- [NOIP 模拟]潜水员 DP
- Tram(转换为最短路模型)
- CF 460B Little Dima and Equation
- C# 生成二维码并且在中间加Logo
- HttpClient_使用httpclient必须知道的参数设置及代码写法、存在的风险
- 9.高级语言中的数据结构和80386寻址方式的关系
- [NOIP 模拟]穿越七色虹 二分答案
- P102、面试题14:调整数组顺序使奇数位于偶数前面
- 句柄handle怎么设计
- POJ 3468 A Simple Problem with Integers(线段树 or 树状数组—区间求和,成段更新)
- utf-8的中文:一个汉字占三个字节长度
- cpu调度
- EditTable-V1.0--续集
- 87. Scramble String (String; DP)
- 华为认证和思科认证,哪一款适合你?
- STL-综合示例