简介

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 命令相关推荐

  1. Linux 命令行操作 while read ; cut 提取指定列; uniq命令并计数;sort 命令倒序查找

    while read 命令 ls *txt* | while read line; do other-operate-command; done cut -f 命令 提取文件中第17 20列 zcat ...

  2. linux sort命令 性能,linux sort 命令详解

    linux sort 命令详解 sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.实际 上,sort命令可以被认 ...

  3. python sort怎么用,Linux Sort命令详细用法(有实例)

    Linux Sort命令详细用法(有实例) sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! Linux sort命令进阶: 1 sort的工作原理 so ...

  4. Linux 命令(6)—— sort 命令

    1.命令简介 以行为单位对文本文件的内容进行排序,将结果显示在标准输出,比较原则是从行首字符向后,依次按 ASCII 码值进行比较,最后按升序输出.如果 file 参数指定多个文件,那么 sort 命 ...

  5. Linux命令 ps --sort,如何对Linux ps命令输出进行排序

    原标题:如何对Linux ps命令输出进行排序 来自:Linux迷 链接:https://www.linuxmi.com/ps-sort.html ps命令是理解Linux系统上运行的内容和每个进程使 ...

  6. linux shell脚本攻略 第二章 命令之乐 cat,find,tr,sort,uniq,split等

    目录 1. 使用cat进行拼接 2.录制并回放终端会话 3.find命令 4. xargs命令 5. tr命令进行转换 6.校验和与核实(md5) 7.加密工具与散列 8.排序,唯一与重复 9.临时文 ...

  7. linux du sort命令,linux命令:du、sort、more、cat、less

    一个比较经典的问题: 如果线上机器的磁盘占用率超级高,怎么办? 这时候优先想到的肯定是,定位到占用磁盘空间最大的那些文件,然后把可以删的给删掉. 那么,问题来了,如何定位到占用磁盘空间最大的文件? 一 ...

  8. linux配置文件如何排序,Linux系统中sort排序命令的使用教程

    sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.实际上,sort命令可以被认为是一个非常强大的数据管理工具,用 ...

  9. linux命令sort的用法,Linux sort命令用法详解

    sort命令将许多不同的域按不同的列顺序分类.sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序.需要注意的是sort命令并不对文件内容进行实际的排序(即文件内容没有修改),只是将 ...

最新文章

  1. 基于asp.net2.0中membership系统角色、用户、资源的权限设计
  2. 十个隐藏_LOL手游:新版增加42个英雄,大白兔:10个隐藏T0角色
  3. Java程序员的发展前景
  4. 【读书笔记】阅读的危险
  5. 程序员才能看懂的30张图,看到最后一张我哭了
  6. C#编号的ActiveX控件采用CAB的布署方式实例
  7. java 获取属性值和设置属性值
  8. collins词典第八版mdx_英语词典选择
  9. Java是解释型还是编译型
  10. 关于按钮需要点两次才有用的问题
  11. Linux/Ubuntu20 安装 TP-link(RTL8812AU) 无线网卡驱动
  12. 高端游戏计算机配置,高端电脑:万元游戏主机配置推荐,从此告别卡顿!
  13. 改变elementui的switch宽度、高度
  14. 详解百度快照劫持,小白必看篇
  15. 电脑C盘满了怎么办?电脑C盘满了怎么清理?
  16. Win10找不到便签怎么办 Win10找不到便签解决方法
  17. 所有设备都不安全 只要连WiFi 就会被入侵
  18. 按字符串属性值对对象数组进行排序
  19. Android-SDK下载和安装
  20. mansory自适应label高度

热门文章

  1. GitHub查找优秀的开源项目和一些资源福利
  2. java最大公约数最小公倍数的逆问题
  3. Objective-C中的posing(冒充)
  4. 如何防止电脑卡顿和C盘爆满
  5. AJAX-异步的javascript和XHL
  6. C#委托与Lambda表达式
  7. linux expect循环用法,Linux expect用法介绍
  8. linux dev/shm,巧用linux服务器下的/dev/shm/,避开磁盘IO不给力!
  9. 电脑外置音响一半音响不响的故障原因。。
  10. 《北漂的京城巡回礼》