兰色精灵 发表于 2015-1-14 21:08:52

CentOS教程之sort,cut,tr文件的排序和兼并等下令使用

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


-k

1
2
3
4
5
6
7
8
9
10
#catabc
aa:ff:kk
bb:qq:gg
dd:ee:ww
xxcc
#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
#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
#catabc
900:aa
60:bb
3:rr
100:pp
#sort-t:-k1abc
100:pp
3:rr
60:bb
900:aa
#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
#catabc
900:aa
60:bb
3:rr
100:pp
#sort-t:-k1nrabc
900:aa
100:pp
60:bb
3:rr



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

1
2
3
4
5
6
7
8
#catabc
900:aa
900:aa
900:aa
60:bb
#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
#catabc
555:rr
900:aa
60:bb
#cataaa
***
***xx
#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
#catabc
555:rr
900:aa
60:bb
#cataaa
777:***
444444:***xx
#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
#catabc
555:rr
555:rr
555:rr
60:bb
#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
#catabc
555:rr
555:rr
555:rr
60:bb
60:bb
showme
555:rr
hello
#sort-uabc
555:rr
60:bb
hello
showme
#uniqabc
555:rr
60:bb
showme
555:rr
hello



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



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

1
2
3
4
5
6
#uniq-cabc
3555:rr
260:bb
1showme
1555:rr
1hello



能够显现出反复的次数



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

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



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



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

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



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





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


再见西城 发表于 2015-1-16 21:06:19

CentOS教程之sort,cut,tr文件的排序和兼并等下令使用

其实老师让写心得我也没怎么找资料应付,自己想到什么就写些什么,所以不免有些凌乱;很少提到编程,因为那些在实验报告里已经说了,这里再写就多余了。

蒙在股里 发表于 2015-1-19 06:30:47

为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?

小妖女 发表于 2015-1-28 05:37:34

学习Linux,应该怎样学,主要学些什么,一位Linux热心学习者,一段学习Linux的风云经验,历时十二个小时的思考总结,近十位网络Linux学习者权威肯定,为您学习Linux指明方向。

只想知道 发表于 2015-2-5 18:03:35

另外Linux上也有很多的应用软件,安装运行了这些软件后,你就可以在Linux上编辑文档、图?片,玩游戏、上网、播放多媒体文件等。

精灵巫婆 发表于 2015-2-13 05:18:56

眼看这个学期的Linux课程已经告一段落了,我觉得有必要写一遍心得体会来总结一下这学期对着门课程的学习。

莫相离 发表于 2015-3-3 15:36:28

虽然大家都比较喜欢漂亮的mm,但是在学 linux 的过程中,还是要多和“男人”接触一下:P 遇到问题的时候,出来看说和上网查之外,就是要多用 linux 下的 man 命令找找帮助。

金色的骷髅 发表于 2015-3-11 13:01:18

我是学习嵌入式方向的,这学期就选修了这门专业任选课。

仓酷云 发表于 2015-3-18 20:26:58

Windows?是图形界面的,Linux类似以前的?DOS,是文本界面的,如果你运行了图形界面程序X-WINDOWS后,Linux?也能显示图形界面,也有开始菜单、桌面、图标等。

灵魂腐蚀 发表于 2015-3-26 17:56:11

我想即使Linux高手也很难快速准确精练的回答你。
页: [1]
查看完整版本: CentOS教程之sort,cut,tr文件的排序和兼并等下令使用