sort命令总结
功能:排序
语法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
参数:
-b 忽略每行前面开始出的空格字符。
-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
-f 排序时,将小写字母视为大写字母。
-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
-c 检查文件是否已经按照顺序排序。
-m 将几个排序好的文件进行合并。
-M 前面3个字母依照月份的缩写进行排序。
-n 依照数值的大小排序。
-o<输出文件> 将排序后的结果存入指定的文件。
-r 以相反的顺序来排序。
-t<分隔字符> 指定排序时所用的栏位分隔字符。
-k 指定域
--help 显示帮助。
--version 显示版本信息。
[root@Jesse ~]# cat c.txt
7 July
8 August
9 September
10 October
11 November
12 December
1 January
2 February
3 March
4 April
5 May
6 June
[root@Jesse ~]# sort -c c.txt
sort: c.txt:4: disorder: 10 October //说明未按照某种顺序进行排列,如果什么也不显示,则说明已按某种顺序分类。
--------------------------------------------------------------------------------------------------[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
[root@Jesse ~]# cat b.txt
3 ladygaga 1
5 ladygaga 9
0 ladygaga 5
9 ladygaga 4
6 ladygaga 2
8 ladygaga 3
7 ladygaga 0
1 ladygaga 6
4 ladygaga 7
2 ladygaga 8
[root@Jesse ~]# sort -m a.txt c.txt //将两个文件内容整合到一起
7 July
8 August
9 September
10 October
11 November
12 December
1 January
2 February
3 March
4 April
5 May
6 June
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
进行月份排序
[root@Jesse ~]# cat c.txt
July
August
September
October
November
December
January
February
March
April
May
June
[root@Jesse ~]# sort -M c.txt
January
February
March
April
May
June
July
August
September
October
November
December
[root@Jesse ~]# sort -M c.txt -o d.txt //将内容排序后导入到d.txt这个文件。
[root@Jesse ~]# cat e.txt
1
2
3
4
5
6
7
8
[root@Jesse ~]# sort -r e.txt //逆序进行排列
8
7
6
5
4
3
2
1
[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
[root@Jesse ~]# sort -t" " -k 3 a.txt //出现空格的地方作为第一域进行分类
gugeee 120 3000
sohuee 100 4500
google 110 5000
baidue 100 5010
########################################################################有关-k 的实例演示
########################################################################准备工作:
[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5000
gugeee 120 3000
sohuee 101 4500
按照字母进行排序,注意 -t 后面的引号里需要有一个空格,这里的单引号,双引号都无所谓
[root@Jesse ~]# sort -t" " -k 1 a.txt
baidue 100 5000
google 110 5000
gugeee 120 3000
sohuee 101 4500
[root@Jesse ~]# sort -t' ' -k 1 a.txt
baidue 100 5000
google 110 5000
gugeee 120 3000
sohuee 101 4500
按照以空格为分割域的第二域进行排序
[root@Jesse ~]# sort -t' ' -k 2 a.txt
baidue 100 5000
sohuee 101 4500
google 110 5000
gugeee 120 3000
我们来测试下第二域相同的情况
[root@Jesse ~]# cat a.txt
google 110 5000
baidue 100 5010
gugeee 120 3000
sohuee 100 4500
通过以下实例我们发现,以空格为分割域,第二域相同的时候,第三域是没有任何次序的,如果遇到第二域相同,第三域也要进行排序的时候,我们怎么办呢
[root@Jesse ~]# sort -n -t' ' -k 2 a.txt
baidue 100 5010
sohuee 100 4500
google 110 5000
gugeee 120 3000
看如下演示,如果第二域相同,那么我们将从第三域进行升降处理
[root@Jesse ~]# sort -n -t' ' -k 2 -k 3 a.txt
sohuee 100 4500
baidue 100 5010
google 110 5000
gugeee 120 3000
如果我想让以空格为分割域的第三域进行倒叙排列
[root@Jesse ~]# sort -n -t' ' -k 3r a.txt
baidue 100 5010
google 110 5000
sohuee 100 4500
gugeee 120 3000
如果我想让以空格为分割域的第三域以正序进行排列
[root@Jesse ~]# sort -t' ' -k 3n a.txt
gugeee 120 3000
sohuee 100 4500
google 110 5000
baidue 100 5010
如果第二域有两个数相同,那么我们将以升降来排序
[root@Jesse ~]# sort -t' ' -k 2n -k 3n a.txt
sohuee 100 4500
baidue 100 5010
google 110 5000
gugeee 120 3000
如过只是想从第三个字母起进行排序
[root@Jesse ~]# sort -t' ' -k 1.3 a.txt
gugeee 120 3000
sohuee 100 4500
baidue 100 5010
google 110 5000
如果只想以第一域的第三个字符进行排序:-k 1.3,1.3 表示只以第三个字母进行排序
[root@Jesse ~]# sort -t' ' -k 1.3,1.3 a.txt
gugeee 120 3000
sohuee 100 4500
baidue 100 5010
google 110 5000
n表示进行排序,r表示逆序
[root@Jesse ~]# sort -t" " -k 2nr a.txt
gugeee 120 3000
google 110 5000
baidue 100 5010
sohuee 100 4500
以第二域进行排序,如果遇到重复的,就删除
[root@Jesse ~]# sort -t" " -k 2n -u a.txt
baidue 100 5010
google 110 5000
gugeee 120 3000
本文出自 “jesse's blog” 博客
sort命令总结的更多相关文章
- shell之sort命令
1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出. [rocrocket@rocrocket progr ...
- 【转】linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
- sort命令
1.默认情况下,sort命令,以字母序进行文本排序sort word.txt2.如果想对数字进行排序,可以使用-n参数sort num.txt -n3指定列排序下面是对passwd文件,以冒号(:)进 ...
- Linux sort命令
200 ? "200px" : this.width)!important;} --> 介绍 sort命令是一个文本排序命令,它能对标准输入和文本文件进行排序,并且能将结果通 ...
- 3. sort命令
转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分 ...
- linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按AS ...
- [shell基础]——sort命令
sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项 -c 测试文件是否已经被排序 -r 逆向排序 -n 按照数字数值大小排序 -t 指定分割 ...
- linux sort 命令详解(转 )
linux sort 命令详解 sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 1 sort的工作原理 sort将文件的每一行作为一个单位,相互比较,比 ...
- linux sort命令学习
linux sort命令以行为单位对文本文件进行排序. 接下来我们会以/tmp/sort_test.txt这个文本文件为例对sort命令的用法进行说明. sh-# cat /tmp/sort_test ...
- 【转】linux中的sort命令
转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分 ...
随机推荐
- Markdown简短教程
前言 很早以前就已经接触到Markdown语言,由于各种原因到今天才认真的学习.其实Markdown语言还是比较简单的,在用中学就可以了. 正文 本文只是介绍而没有说明其它可选语法,详细可以参考[Ma ...
- Mac实用技巧
1. 程序员Mac新装机必备 Mac很玄这个大家都承认,但是鄙人觉得程序员用Mac才能真正发挥它的功效.下面就说说我的Mac使用: 基本编程软件:xcode,这个东西不仅仅是对mac的界面程序开发有用 ...
- 阅读记录:Learning multiple layers of representation(杂乱笔记)
典型的浅层学习结构: 传统隐马尔可夫模型(HMM).条件随机场 (CRFs).最大熵模型(Maxent).支持向量机(SVM).核回归及仅含单隐层的多层感知器(MLP)等. 局部表示,分布式表示和稀疏 ...
- wireshark抓一抓,看是不是另一个机器也企图DHCP
早上的问题,昨晚四点睡,今早九点半起... 到公司处理此问题,不知道相关性大不大..
- C++基础回顾1(数据类型, 控制语句, 数组)
最近两天打开本科学校的C++教材,快速回顾了一下C++方面的内容.虽然书本内容比较基础,但是还是有些知识点值得自己强化记忆.分几篇文章,加上自己的理解记录如下. 先回顾面向过程的部分. C++数据类型 ...
- Hive 6、Hive DML(Data Manipulation Language)
DML主要是对Hive 表中的数据进行操作的(增 删 改),但是由于Hadoop的特性,所以单条的修改.删除,其性能会非常的低所以不支持进行级操作: 主要说明一下最常用的批量插入数据较为常用的方法: ...
- shell输出加颜色
shell输出加颜色 #cat a.sh #!/bin/sh blue=`tput setaf 4` reset=`tput sgr0` echo "${blue}[INFORMATION] ...
- myeclipse实现Servlet实例(1) 通过继承servlet接口实现
1.在myeclipse新建web project,配置Tomcat(在myeclipse的Window--preferences) 2.然后在src新建servlet文件( 此处放在com.tsin ...
- 去掉MySQL字段中的空格
mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例: SQL Co ...
- android 点击桌面图标,打开手机浏览器进入对应的站点
做一个假的adnroid app.要实现点击桌面图标.打开手机浏览器进入对应的站点,实现方法非常easy import android.app.Activity; import android.con ...