linux sort命令 倒序,Linux 之 sort 命令
简介
sort 是用来排序的,Unix Shell 的传统是对问本行做处理,因此 sort 也是对文本行进行排序,如果需要排序字段,则可以通过指定 -k,-t 等选项来实现。
用法
sort [options]... [file]...
默认排序规则:
数字开头的行会排在字母开头行之前
字母序排序(不分大小写)
小写字母会排在相同的大写字母之前
Options
Flag
描述
-r, --reverse
倒序
-o, --output=FILE
排序结果输出到文件中
-u, --unique
对相同的行进行过滤
-b, --ignore-leading-blanks
忽略首部空格
-d, --directory-order
只考虑空格,字母与数字
-f, --ignore-case
忽略大小写(F means fold)(Fold lower case to upper case characters.)
-i, --ignore-nonprinting
忽略不可打印字母,仅根据可打印字母排序
-n, --numeric-sort
转换为数字排序
-m, --merge
合并已排好序的文件
-t, --field-separator=SEP
使用SEP 而非空格将行切分成字段,与 -k 一起使用
-k, --key=POS1[,POS2]
使排序使用的key 从 POS1(默认1) 开始,POS2(默认行尾) 结束(POS 格式见下)
-R, --random-sort
使用随机哈希排序
-c, --check
只检查文件是否已排序
--help
打印帮助
--version
打印版本
POS 的形式为 F[.C][OPTS], F 是字段序号,C 是字段中字符的位置,默认都为1, 如果没有指定 -t 与 -b ,默认从行首算起。 OPTS 指定字段排序形式,可覆盖外面的排序选项(r,n)
例子
字母序排序文件
sort data
将排序结果保存到单独文件中
sort data > output 或 sort -o output data
倒序排序
sort -r data
检查文件是否已排序
sort -c data
根据字段进行排序
我们有如下文件 data
1 Alfred
2 Jay
3 Dave
4 Bernad
如果我们直接使用 sort data, 输出不会有任何变化,因为行首是已经排序好的,我们想对人名进行排序,此时就可以使用 -k 选项来指定 sort -k 2 data, 它的输出就变成了
1 Alfred
4 Bernad
3 Dave
2 Jay
指定起始的字段排序
我们有如下data 文件
01 Joe Sr.Designer
02 Marie Jr.Developer
03 Albert Jr.Designer
04 Dave Sr.Developer
我们如果要对职业进行排序可以使用 sort -k 3 data, 但是职业分了等级,我们想将相同职业类型的人放在一起,此时就可以使用 F.C 格式来指定排序字段从第 C 个字母开始排序,忽略前面的字母, sort -k 3.3 data, 如果需要倒序排序可以指定OPTS, sort -k 3.3r data
也可以指定比较的 key 的范围, 上面例子中我们只想比较第三个到第五个字母 sort -k 3.3,3.5 data, 也可以跨字段 sort -k 2.2,3.3 data
多个字段排序
sort -t: -k 2,2n -k 4,4nr data
以冒号分割字段,首先以数字形式比较第2列,如果相同再以数字形式倒序排序第4个字段
删除重复行
sort -u data 与 sort data | uniq 在整行时行为是一致的,不过如果我们使用了 -k 排序字段时, 两者的行为就不一致了, sort 的 -u 比较的是排序的key。
对data 进行sort -k 3.3 -u data 排序
data 数据
01 Joe Sr.Designer
02 Marie Jr.Developer
03 Albert Jr.Designer
04 Dave Sr.Developer
输出结果
01 Joe Sr.Designer
02 Marie Jr.Developer
排序多个文件
sort data1 data2
删除重复 sort -u data1 data2
linux sort命令 倒序,Linux 之 sort 命令相关推荐
- Linux 命令行操作 while read ; cut 提取指定列; uniq命令并计数;sort 命令倒序查找
while read 命令 ls *txt* | while read line; do other-operate-command; done cut -f 命令 提取文件中第17 20列 zcat ...
- linux sort命令 性能,linux sort 命令详解
linux sort 命令详解 sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.实际 上,sort命令可以被认 ...
- python sort怎么用,Linux Sort命令详细用法(有实例)
Linux Sort命令详细用法(有实例) sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! Linux sort命令进阶: 1 sort的工作原理 so ...
- Linux 命令(6)—— sort 命令
1.命令简介 以行为单位对文本文件的内容进行排序,将结果显示在标准输出,比较原则是从行首字符向后,依次按 ASCII 码值进行比较,最后按升序输出.如果 file 参数指定多个文件,那么 sort 命 ...
- Linux命令 ps --sort,如何对Linux ps命令输出进行排序
原标题:如何对Linux ps命令输出进行排序 来自:Linux迷 链接:https://www.linuxmi.com/ps-sort.html ps命令是理解Linux系统上运行的内容和每个进程使 ...
- linux shell脚本攻略 第二章 命令之乐 cat,find,tr,sort,uniq,split等
目录 1. 使用cat进行拼接 2.录制并回放终端会话 3.find命令 4. xargs命令 5. tr命令进行转换 6.校验和与核实(md5) 7.加密工具与散列 8.排序,唯一与重复 9.临时文 ...
- linux du sort命令,linux命令:du、sort、more、cat、less
一个比较经典的问题: 如果线上机器的磁盘占用率超级高,怎么办? 这时候优先想到的肯定是,定位到占用磁盘空间最大的那些文件,然后把可以删的给删掉. 那么,问题来了,如何定位到占用磁盘空间最大的文件? 一 ...
- linux配置文件如何排序,Linux系统中sort排序命令的使用教程
sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.实际上,sort命令可以被认为是一个非常强大的数据管理工具,用 ...
- linux命令sort的用法,Linux sort命令用法详解
sort命令将许多不同的域按不同的列顺序分类.sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序.需要注意的是sort命令并不对文件内容进行实际的排序(即文件内容没有修改),只是将 ...
最新文章
- 基于asp.net2.0中membership系统角色、用户、资源的权限设计
- 十个隐藏_LOL手游:新版增加42个英雄,大白兔:10个隐藏T0角色
- Java程序员的发展前景
- 【读书笔记】阅读的危险
- 程序员才能看懂的30张图,看到最后一张我哭了
- C#编号的ActiveX控件采用CAB的布署方式实例
- java 获取属性值和设置属性值
- collins词典第八版mdx_英语词典选择
- Java是解释型还是编译型
- 关于按钮需要点两次才有用的问题
- Linux/Ubuntu20 安装 TP-link(RTL8812AU) 无线网卡驱动
- 高端游戏计算机配置,高端电脑:万元游戏主机配置推荐,从此告别卡顿!
- 改变elementui的switch宽度、高度
- 详解百度快照劫持,小白必看篇
- 电脑C盘满了怎么办?电脑C盘满了怎么清理?
- Win10找不到便签怎么办 Win10找不到便签解决方法
- 所有设备都不安全 只要连WiFi 就会被入侵
- 按字符串属性值对对象数组进行排序
- Android-SDK下载和安装
- mansory自适应label高度