【Linux常见命令】sort命令
sort - sort lines of text files
sort命令用于将文本文件内容加以排序。
sort可针对文本文件的内容,以行为单位来排序。
语法:
sort [OPTION]... [FILE]...
sort [OPTION]... --files0-from=F
sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
参数:
sort默认无参数,按照ascii码排序,升序,从小到大
- -n 依照数值的大小排序。
- -r 以相反的顺序来排序。
- -u,--unique 去除重复行
with -c, check for strict ordering; without -c, output only the
first of an equal run- -u参数,取唯一,不管是否为相邻行
[root@oldboy oldboy]# sort uniq.txt
1
1
aa
aa
bb
cc
dd
www
www [root@oldboy oldboy]# sort uniq.txt -u
1
aa
bb
cc
dd
wwwsort -u 压缩,唯一
[root@oldboy oldboy]# uniq uniq.txt
www
aa
bb
aa
cc
dd
1
aauniq压缩相邻行
- -b 忽略每行前面开始出的空格字符。
- -c 检查文件是否已经按照顺序排序。
[root@oldboy oldboy]# cat sort_c.txt
11
22
33
44
11
22
33
44
# 显示第5行的11未按排序要求排序,用于检查排序是否有错误
[root@oldboy oldboy]# sort -c sort_c.txt
sort: sort_c.txt:5: disorder: 11sort -c检查排序是否ok
- -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。
- -f 排序时,将小写字母视为大写字母。
- -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。
- -m 将几个排序好的文件进行合并。
- -M 将前面3个字母依照月份的缩写进行排序。
- -o<输出文件> 将排序后的结果存入指定的文件。
- -r 以相反的顺序来排序。
- -t<分隔字符> 指定排序时所用的栏位分隔字符。
- -t, --field-separator=SEP
- 默认的SEP分隔符为空格
[root@oldboy oldboy]# sort new.txt
1-user01
2-user02
3-user03
4-user04
5-user05
# 分隔符设置为“-”,取第二列作为排序的条件列,-r倒序
[root@oldboy oldboy]# sort new.txt -t '-' -k 2 -r
5-user05
4-user04
3-user03
2-user02
1-user01sort -k 2 指定key,指定-t分隔符,倒序排序
-k, --key=POS1[,POS2] 指定起始的排序列
-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line)
- +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。
示例:
# 数据准备
[root@oldboy oldboy]# cat sort_test.txt
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
test
Hello
hello
Welcome
www.baidu.com # 以默认的方式对文件进行排序
[root@oldboy oldboy]# sort sort_test.txt
Hello
Welcome
a
b
c
d
e
f
g
h
hello
i
j
k
l
m
n
o
p
q
r
s
t
test
u
v
w
www.baidu.com
x
y
z
sort默认的排序方式
sort 命令将以默认的方式将文本文件的第一列以ASCII 码的次序排列,并将结果输出到标准输出。
注意,ASCII码的对照表如下:https://baike.baidu.com/item/ASCII/309296?fr=aladdin
[root@oldboy oldboy]# sort sort_test.txt -r
z
y
x
www.baidu.com
w
v
u
test
t
s
r
q
p
o
n
m
l
k
j
i
hello
h
g
f
e
d
c
b
a
Welcome
Hello
sort -r 倒序,从大到小
【Linux常见命令】sort命令的更多相关文章
- Linux基础:sort命令总结
本文只总结一些常用的用法,更详细的说明见man sort和sort --help. sort命令 sort命令用于串联排序指定文件并将结果写到标准输出. sort可以指定按照何种排序规则进行排序,如按 ...
- 性能工具之linux常见日志统计分析命令
引言 我前几天写过的性能工具之linux三剑客awk.grep.sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 ...
- 【转】linux中的sort命令
转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分 ...
- Linux常见的Shell命令
1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...
- Linux常见目录及命令介绍
一.Linux中常用的目录介绍: / -根目录 /bin -命令保存目录(普通用户亦可读取的命令) /boot -启动目录,启动相关文件 /d ...
- linux 常见名词及命令(三)
tar 用于对文件打包压缩或解压. 示例: 打包并压缩文件:tar -czvf 压缩包名.tar.gz 文件名 解压并展开压缩包:tar -zxvf 压缩包名.tar.gz -c 创建压缩文件 -x ...
- linux 常见名词及命令(一)
linux PK wondows 稳定且有效率.免费或少许费用.漏洞少且修补快.多任务多用户. 安全的用户及文件权限策略.适合小内核程序的嵌入系统.相对不耗资源. 热门的开源系统 红帽企业系统(R ...
- linux 常见名词及命令(五)
计划任务服务之一次性任务: at <时间> 安排一次性任务 atq 或at -l 查看任务列表 at -c 序号 预览任务与设置环境 atrm 序号 删除任务 安排任务示例: 在23:30 ...
- linux 常见名词及命令(六)
查看软件安装位置 : dpkg -L 软件包名字 ubuntu环境的apache相关命令: 查看是否启动:ps -aux | grep httpd 或者 netstat -an | grep :80 ...
- linux 常见名词及命令(四)
yum仓库的配置 yum仓库的配置文件存放在/etc/yum.repos.d/目录中. 第一步:切换到/etc/yum.repos.d/目录中. 第二步:使用vim编辑器打开一个名为'rhel7.re ...
随机推荐
- Java数组的声明与创建
今天在刷Java题的时候,写惯了C++发现忘记了Java数组的操作,遂把以前写的文章发出来温习一下. 首先,数组有几种创建方式? Java程序中的数组必须先进行初始化才可以使用,所谓初始化,就是为数组 ...
- 个推IGt.BaseTemplate.php,不仅有bug,还有bom头,好恶心!
错误截图,提交吧,还有一个不明飞行物. 去掉utf-8 BOM:set nobomb保留utf-8 BOM:set bomb
- 【PHP】数组
一.生活中的数组: a) 教室的座位:第一天来教室的时候,每个座位上都有自己的一个名字,我们可以通过这个名字快速定位到自己的座位在什么位置! b) 电影院的座位:我们买了电影票之后,能够通 ...
- python 爬虫:学爬虫必学的正则表达式
文章更新于:2020-03-30 一.语法格式 1.非打印字符 操作符 说明 实例 \cx 匹配由x指明的控制字符 \cM 匹配一个 Control-M 或回车符.x 的值必须为 A-Z 或 a-z ...
- Ceph学习笔记(3)- Monitor
Ceph学习笔记(3)- Monitor 前言: Ceph将cluster map与placement rule合并为一张表称为crush map,作为集群表的一部分.由Monitor对集群表的副 ...
- python3的subprocess的各个方法的区别(二)
subprocess如何避免死锁 如果交互是双工的,即涉及读取和写入,则尤其如此.这种交互可能导致死锁,因为两个进程都可能最终等待另一个进程的输出 您希望从子进程标准输出管道读取,但标准错误管道的缓冲 ...
- Array(数组)对象-->数组遍历
1.数组的遍历: 方法1:使用for循环语句 /*定义数组*/ var arr=[1,2,3,4,5]; /*遍历*/ for (var i = 0;i<arr.length;i++){ con ...
- 学习《深入应用c++11》1
C++11 让程序更简洁.更优雅 可调用对象 是一个函数指针 是一个具有operator()成员函数的类对象(仿函数) 是一个可被装换为函数指针的类对象 是一个类的成员(函数)指针 void func ...
- 数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法
算法复杂度主方法 有时候,我们要评估一个算法的复杂度,但是算法被分散为几个递归的子问题,这样评估起来很难,有一个数学公式可以很快地评估出来. 一.复杂度主方法 主方法,也可以叫主定理.对于那些用分治法 ...
- C - Highways poj1751最小生成树
The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has a very poor system of p ...