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. 网页字体生成工具fontello firefox下无效,未跨域,研究两天得出解决办法

    fontello是一个非常好的web font生成工具,但是在使用过程中发现生成的字体在firefox下死活渲染不出来,只有chrome可以正常渲染,字体文件和页面在同域下. 试过各种办法,最后发现一 ...

  2. ORC 资料Mark

    1 OCR开源代码网址汇总  1.1 OCRE(OCR Easy), http://lem.eui.upm.es/ocre.html 1.2 Clara OCR,http://directory.fs ...

  3. git的常见操作方法

    GIT操作方法 http://git.oschina.net/ g进入https://git-for-windows.github.io/下载安装 g启动命令窗口输入以下内容 git config - ...

  4. 点滴积累【JS】---JS实现仿百度模糊搜索效果

    效果: HTML代码: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="In ...

  5. Atitit. Attilax企业框架 AEF的发展里程总结

    Atitit. Attilax企业框架 AEF的发展里程总结 1. Attilax企业框架and框架发展思想 1 2. AEF框架 2 2.1. 多语言支持,涉及的语言 java ,c# php py ...

  6. Windows 7 Path环境变量255限制的解决办法,SUBST

    C:\Users\xxx>subst /? Associates a path with a drive letter. SUBST [drive1: [drive2:]path] SUBST ...

  7. Node.js综述

    前言 本综述文章旨在帮助读者深入理解下Node.js的本质,不去关注应用的细节,我认为真正的技术问题只有在动手写代码的时候才会遇到,那个阶段解决问题才是真正有意义的.   发展史 Node.js是Ry ...

  8. Struts2初学 struts2自定义类型转换器

    一.问题的引出      Struts2的类型转换是基于OGNL表达式的,由于请求的参数都是字符串,而JAVA 本身属于强类型的的语言,这样就需要把请求参数字符串转换成其他类型.     Struts ...

  9. PyCharm 在django程序中单独运行py文件

    使用PyCharm开发django程序,发现如果不在命令行而在IDE的django项目中直接运行django程序,发现报错,程序如下:   def main(): from people.models ...

  10. poj3693(后缀数组)

    http://poj.org/problem?id=3693 题意:给出一串字符,需要求这串字符中的最长重复子串,要是有多个,输出字典序最小的......... 我自己的一些想法:这个思路我一开始倒是 ...