仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 733|回复: 9
打印 上一主题 下一主题

[CentOS(社区)] CentOS教程之sort,cut,tr文件的排序和兼并等下令使用

[复制链接]
兰色精灵 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 21:08:52 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的好朋友们!sort下令,只是对文件排行排序
选项意义
-c测试文件是不是已被排序
-k指定排序的地区(经常使用)
-m兼并两个已排序的文件
-n依据数字巨细举行排序(经常使用)
-o将输入写到指定文件,相称于重定向输入文件
-r将排序了局逆向显现
-t改动地区分开符(经常使用)
-u往除了局中的反复行
格局:sort选项输出文件
上面具体讲授:
-t选项――道理从第一地区入手下手排序,若第一地区内容不异,则以第二地区排序


-k

1
2
3
4
5
6
7
8
9
10
[root@localhost~]#catabc
aa:ff:kk
bb:qq:gg
dd:ee:ww
xxcc
[root@localhost~]#sort-t:-k3abc
xxcc
bb:qq:gg
aa:ff:kk
dd:ee:ww



能够寄望到,从第三地区才入手下手排序,前2个地区是没有排序,而-t就以:为分开符

也能够用sort-t:-k3/etc/passwd

1
2
3
4
5
6
7
8
9
10
[root@localhost~]#sort-t:-k3/etc/passwd
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTPUser:/var/ftp:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
squid:x:23:23::/var/spool/squid:/sbin/nologin



如许第3地区恰好是UID就会排序,但会发明这里只以第一个字符巨细举行排序,而不会以全体巨细排序

如:如许只到达第1个字符举行排序,而不是对全部数举行排序
11
400400
67501
89602
50167
60289


-n选项,为指定列的数字巨细,属于全体性子来排序
如:
9003
6060
3100
100900

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@localhost~]#catabc
900:aa
60:bb
3:rr
100:pp
[root@localhost~]#sort-t:-k1abc
100:pp
3:rr
60:bb
900:aa
[root@localhost~]#sort-t:-k1nabc
3:rr
60:bb
100:pp
900:aa



能够看出,加了-n是对全体排序,而不加-n则只以单个字符排序

以是用sort-t:-k3n/etc/passwd如许就能够对UID举行从小到年夜排序了


-r是反向,从年夜到小排序
1
2
3
4
5
6
7
8
9
10
[root@localhost~]#catabc
900:aa
60:bb
3:rr
100:pp
[root@localhost~]#sort-t:-k1nrabc
900:aa
100:pp
60:bb
3:rr



-u选项,往除反复呈现的地区

1
2
3
4
5
6
7
8
[root@localhost~]#catabc
900:aa
900:aa
900:aa
60:bb
[root@localhost~]#sort-t:-k1n-uabc
60:bb
900:aa



个中反复了2行的900:aa就不会显现出来



-o为定向输入,但间接用>来取代就好了,这个选项很罕用


-m为排序后2个文件兼并,条件2个文件内容没有反复

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost~]#catabc
555:rr
900:aa
60:bb
[root@localhost~]#cataaa
***
***xx
[root@localhost~]#sort-t:-mabcaaa
555:rr
900:aa
60:bb
***
***xx



如许就把abc的内容全体到aaa里了

实在还能够简写为sort-t:abcaaa就好了
也能够按2个文件的地区举行排序

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost~]#catabc
555:rr
900:aa
60:bb
[root@localhost~]#cataaa
777:***
444444:***xx
[root@localhost~]#sort-t:-k1nabcaaa
60:bb
555:rr
777:***
900:aa
444444:***xx



如许就到达2个文件内容兼并后再举行地区排序

sort下令就先容到这里


uniq下令――用于往除反复行,实在跟sort-u差未几
选项意义
-c打印每行在文本中反复呈现的次数
-d只显现有反复的纪录,每一个反复纪录只呈现一次
-u只显现没有反复的纪录



1
2
3
4
5
6
7
8
[root@localhost~]#catabc
555:rr
555:rr
555:rr
60:bb
[root@localhost~]#uniqabc
555:rr
60:bb



往除2行重内容

sort-u的区分,sort-u只会把反复行删除剩下1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[root@localhost~]#catabc
555:rr
555:rr
555:rr
60:bb
60:bb
showme
555:rr
hello
[root@localhost~]#sort-uabc
555:rr
60:bb
hello
showme
[root@localhost~]#uniqabc
555:rr
60:bb
showme
555:rr
hello



能够寄望到,uniq只是把一连反复的行删除,第4行的555:rr是没有删除,但sort-u则以为都是反复,以是一并删除



-C为打印文本中呈现反复的次数

1
2
3
4
5
6
[root@localhost~]#uniq-cabc
3555:rr
260:bb
1showme
1555:rr
1hello



能够显现出反复的次数



-d只打印一连反复的纪录

1
2
3
4
5
6
7
8
9
10
11
12
[root@localhost~]#catabc
555:rr
555:rr
555:rr
60:bb
60:bb
showme
555:rr
hello
[root@localhost~]#uniq-dabc
555:rr
60:bb



只显现出一连反复的行纪录



-u只打印没有一连反复的纪录

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@localhost~]#catabc
555:rr
555:rr
555:rr
60:bb
60:bb
showme
555:rr
hello
[root@localhost~]#uniq-uabc
showme
555:rr
hello



实在-d-u是正反向的对照效果





cut下令――用于从尺度输出或文本文件中按地区或行提取文本
格局:cut选项文件
选项意义
-c指定提取的字符数或字符局限
-f指定提取的地区数或局限
-d改动地区分开符


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-8 09:42

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表