25.1 由于sort默认是把结果按照行排序后输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile
[root@shiyan a]# cat a.txt
aaaaaa
[root@shiyan a]# sort a.txt >c.txt ------------- 在重定向前会自动创建c.txt这个文件。
[root@shiyan a]# cat c.txt
aaaaaa

25.2 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。
[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear

25.3 sort进行排序后就会将相同的行排到一起去,而 -u 参数就会将重复的行去掉,只保留一行
[rocrocket@rocrocket programming]$ cat seq.txt
banana
apple
pear
orange
pear
[rocrocket@rocrocket programming]$ sort seq.txt
apple
banana
orange
pear
pear
[rocrocket@rocrocket programming]$ sort -u seq.txt
apple
banana
orange
pear -------------------- 只保留一行

25.4 sort的-r选项
sort默认的排序方式是升序,如果想改成降序,就加个-r就搞定了。

[rocrocket@rocrocket programming]$ cat number.txt
1
3
5
2
4
[rocrocket@rocrocket programming]$ sort number.txt
1
2
3
4
5
[rocrocket@rocrocket programming]$ sort -r number.txt
5
4
3
2
1

25.5 sort的-o选项,当重定向到自己时,一定要加-o参数,否则会被清空原文件。

由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile。
但是,如果你想把排序结果输出到原文件中,用重定向可就不行了。

[rocrocket@rocrocket programming]$ sort -r number.txt > number.txt
[rocrocket@rocrocket programming]$ cat number.txt
[rocrocket@rocrocket programming]$
看,竟然将number清空了。!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

就在这个时候,-o选项出现了,它成功的解决了这个问题,让你放心的将结果写入原文件。这或许也是-o比重定向的唯一优势所在。
[rocrocket@rocrocket programming]$ cat number.txt
1
3
5
2
4
[rocrocket@rocrocket programming]$ sort -r number.txt -o number.txt
[rocrocket@rocrocket programming]$ cat number.txt
5
4
3
2
1

25.6, -n 参数。按照数值大小来排序而不是首字母的ASCII码
由于sort是按照首字母的ascii码来排序的,所以当需要按照数字的大小来排序时会错乱
[rocrocket@rocrocket programming]$ cat number.txt
1
10
19
11
2
5
[rocrocket@rocrocket programming]$ sort number.txt
1
10
11
19
2
5
[rocrocket@rocrocket programming]$ sort -n number.txt
1
2
5
10
11
19
默认是采用升序的来显示的。当需要采用降序就用:sort -nr xxx.txt 来显示

25.6,-k 截取每行的第几个部分
facebook.txt按照公司人数排序 ,人数相同的按照员工平均工资升序排序(-k :域,区域,第几个区域):
[root@FDMdevBI opt]# sort -n -t ' ' -k2 -k3 testsort.txt
guge 50 3000
sohu 100 4500
baidu 100 5000
google 110 5000

25.7,配合 uniq -c 排序后统计相同的行的行数
[root@bogon tmp]# sort aa |uniq -c
1 111111111111111111
1 11111111111111111111111
1 222222222222222222
1 22222222222222222222222
1 444444444444444444
1 444444444444444444444444444
1 55555555555555555555555
1 777777777777777777
1 77777777777777777777777

25.8,-u 去掉重复的行
[root@bogon tmp]# cat b
1
2
2
2
1
1
3
31
32
42
42
62
32
2
2
1
[root@bogon tmp]# sort b
1
1
1
1
2
2
2
2
2
3
31
32
32
42
42
62
[root@bogon tmp]# sort -u b
1
2
3
31
32
42
62
[root@bogon tmp]# sort b |uniq -c
4 1
5 2
1 3
1 31
2 32
2 42
1 62

[root@bogon tmp]# sort b
1
1
1
1
17
2
2
2
2
2
21
3
31
32
32
42
42
62
[root@bogon tmp]# sort -n b |uniq -c
4 1
5 2
1 3
1 17
1 21
1 31
2 32
2 42

sort命令与cat区别的更多相关文章

  1. sort命令与cat区别25.1 由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile [root@shiyan a]# cat a.txt aaaaaa [root@shiyan a]# sort a.txt >c.txt ------------- 在重定向前会自动创建c.txt这个文件。 [root@shiyan

    25.1 由于sort默认是把结果按照行排序后输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > newfile[root@shiyan a]# cat a. ...

  2. linux常用命令:sort 命令

    sort 命令是Linux系统下一种对文件排序的工具,sort 命令功能十分强大,是 Shell 脚本编程是常用的文件排序工具. 1.命令格式: sort [选项]... [文件]... 或:sort ...

  3. shell之sort命令

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

  4. 【转】linux sort 命令详解

    sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...

  5. sort命令

    1.默认情况下,sort命令,以字母序进行文本排序sort word.txt2.如果想对数字进行排序,可以使用-n参数sort num.txt -n3指定列排序下面是对passwd文件,以冒号(:)进 ...

  6. Linux sort命令

    200 ? "200px" : this.width)!important;} --> 介绍 sort命令是一个文本排序命令,它能对标准输入和文本文件进行排序,并且能将结果通 ...

  7. 3. sort命令

    转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分 ...

  8. linux sort 命令详解

    sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...

  9. [shell基础]——sort命令

    sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项      -c 测试文件是否已经被排序 -r  逆向排序      -n 按照数字数值大小排序 -t  指定分割 ...

随机推荐

  1. Python Unicode 转换 字符串

    estimate_price = "\u00a340\u00a0\u00a0-\u00a060" sold_price = "Sold for \u00a345" ...

  2. unity, 内置shader下载地址

    在unity的download页面上能找到Built in shaders的下载连接.

  3. Cookie/Session编码

    Unicode编码:保存中文 中文与英文字符不同,中文属于Unicode字符,在内存中占4个字符,而英文属于ASCII字符,内存中只占2个字节.Cookie中使用Unicode字符时需要对Unicod ...

  4. Spring Cloud(八):分布式配置中心服务化和高可用

    在前两篇的介绍中,客户端都是直接调用配置中心的server端来获取配置文件信息.这样就存在了一个问题,客户端和服务端的耦合性太高,如果server端要做集群,客户端只能通过原始的方式来路由,serve ...

  5. Docker搭建本地私有仓库

    安装部署一个私有的Docker Registry是引入.学习和使用Docker这门技术的必经之路之一.尤其是当Docker被所在组织接受,更多人.项目和产品开始接触和使用Docker时,存储和分发自制 ...

  6. 内存控制函数(1)-mmap() 建立内存映射

    示例1: 1.首先建立一个文本文件,名字为tmp,内容为hello world 2.编写mmap.c #include <sys/types.h> #include <sys/sta ...

  7. 【已解决】vbox + ubuntu 设置 1366x768 分辨率

    1. 打开VBOX(Oracle VM VirtualBox),启动Ubuntu 2. 点击"设备>安装增强功能" 3. 进入Ubuntu打开文件管理器,如下图 4. 输入r ...

  8. Android 开发之Android 应用程序如何调用支付宝接口

    1.到支付宝官网,下载支付宝集成开发包 由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口.下面是申请的地址以及下载接口开发包的网址:https://b.alipay ...

  9. spoj687(后缀数组)

    http://www.spoj.com/problems/REPEATS/ 题意:给一串字符,需要你求这一串字符中有连续重复的字符的重复次数....... 思路:这是和poj3693一种类型的题目.. ...

  10. IIS 与 Apache共存

    http://support.microsoft.com/kb/813368 http://www.blueidea.com/computer/system/2006/3585.asp 操作其实也很简 ...