今天来给大家介绍一下linux的sort命令

1.命令简介

以行为单位对文本文件的内容进行排序,将结果显示在标准输出,比较原则是从行首字符向后,依次按 ASCII 码值进行比较,最后按升序输出。如果 file 参数指定多个文件,那么 sort 命令将这些文件纵向连接起来,当作一个文件进行排序。

不加任何选项时,将对整行从第一个字符开始依次向后直到行尾按照 ASCII 码值做升序排序。

2.命令格式

sort [OPTION]... [FILE]...
sort [OPTION]... --files0-from=F

3.选项说明

注意,长选项的强制性参数对于短选项也是强制的。

-b, --ignore-leading-blanks忽略每行前面的空格字符
-c, --check, --check=diagnose-first只检查文件是否已排序,不进行排序
-C, --check=quiet, --check=silent类似于 -c,但不报告第一个乱序的行
-d, --dictionary-order按照字典序,只考虑字母、数字及空格字符,忽略其他字符
--files0-from=F从文件 F 中以 NUL 字符结尾的字符串作为输入文件名;如果 F 是 -,则从标准输入中读取文件名
-f, --ignore-case排序时,将小写字母视为大写字母
-i, --ignore-nonprinting排序时,只考虑可打印字符,忽略不可打印字符
-m, --merge合并多个已排序的文件
-n, --numeric-sort按数值大小排序
-o, --output=FILE将排序结果输出到指定文件
-r,--reverse逆向输出排序结果(降序排序)
-t, --field-separator=SEP指定排序时使用的分隔字符,sort命令默认字段分隔符为空格和Tab
-u, --unique相同的数据中,仅输出一行
-k,--key=POS1[,POS2]以第 POS1 栏到 POS2 栏排序,默认到最后一栏
--help显示帮助信息并退出
--version显示版本信息并退出

4.常用示例

(1)对 /etc/passwd 进行排序。

cat /etc/passwd | sort
adm:x:3:4:adm:/var/adm:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

(2)/etc/passwd 内容以冒号:来分隔,以第三栏至行末尾栏来排序。

cat /etc/passwd | sort -t ':' -k 3
root:x:0:0:root:/root:/bin/bash
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin

(3)如果对 /etc/passwd,以第六个域的第 2 个字符到第 4 个字符进行升序排序,再基于第一个域进行反向排序。

cat /etc/passwd | sort -t ':' -k 6.2,6.4 -k 1,1r
sync:x:4:65534:sync:/bin:/bin/sync
proxy:x:13:13:proxy:/bin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
bin:x:3:3:sys:/dev:/bin/sh

可以看出,六个域的第 2 个字符到第 4 个字符是升序排序。六个域的第 2 个字符到第 4 个字符如果相同则分为一组,组内再按照第一个域进行降序排序。注意,-r 需要与第二个 -k 的 <POS1,POS2> 连写,否则对前面两个 -k 均有效。

学习一个 Linux 命令:sort 命令相关推荐

  1. N天学习一个Linux命令之帮助命令:man

    前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...

  2. linux set命令例子,学习一个 Linux 命令:declare/typeset 命令

    原标题:学习一个 Linux 命令:declare/typeset 命令 1 功能简介 declare(别名 typeset)属 Shell 内建命令,用于申明 Shell 变量并设置变量属性,或查看 ...

  3. 在linux中的sort命令,linux中sort命令

    功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. 参 数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排序时,处理英文字母.数 ...

  4. Linux 的 ‘sort’命令的14个有用的范例(一)

    Linux 的 'sort'命令的14个有用的范例(一) Sort是用于对单个或多个文本文件内容进行排序的Linux程序.Sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序.需要注 ...

  5. linux下sort命令使用详解---linux将文本文件内容加以排序命令

    转载自:http://www.cnblogs.com/hitwtx/archive/2011/12/03/2274592.html linux下sort命令使用详解---linux将文本文件内容加以排 ...

  6. Linux的sort命令

     Linux的sort命令 Linux的sort命令就是一种对文件排序的工具,sort命令的功能十分强大,是Shell脚本编程时常使用的文件排序工具. sort命令将输入文件看做由多条记录组成的数据流 ...

  7. linux之sort 命令详解

    sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始! 语法 sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>] ...

  8. 【系统性学习】Linux Shell常用命令

    本文重点是脚本开发时会常用的命令和一些提高效率的高频系统操作命令,其他命令(主要是运维方面的,如网络操作.硬件操作.文件打包等)后续补充. 该文配合[系统性学习]Linux Shell易忘重点整理(会 ...

  9. linux中sort命令实例,Linux中文本处理工具之sort命令详解

    前言 sort命令将每一行作为一个单位进行比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按一定的顺序进行输出,实际上,sort命令可以被认为是一个非常强大的数据治理工具,用来治 ...

最新文章

  1. 【AGC+FPGA】基于FPGA的数字AGC自适应增益设计,应用在BPSK调制解调系统中
  2. github如何clone别人commit的历史版本的仓库
  3. 任何时候,写下一个类,一定要有三个函数
  4. SkyDNS2源码分析
  5. java guava map_使用googled的guava常见ImmutableMap、Multimap、Sets、Optional、Objects及Preconditions检查等用法...
  6. android的底部弹出框炫酷的样式,Android自定义底部弹出框ButtomDialog
  7. 在学校外边找了份工作
  8. 2015年国民经济和社会发展统计公报
  9. 进制转换(二进制、八进制、十进制、十六进制)涵盖整数与小数部分,超详细
  10. ubuntuv20启动界面美化_光影魔术手---用‘傻瓜软件’美化图像
  11. python content函数_python函数内容
  12. tomcat、APR模式
  13. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx
  14. 个人笔记使用(wolai,OneNote)
  15. DNS_PROBE_FINISHED_NXDOMAIN错误的解决方法
  16. 机器学习和人工智能发展简史
  17. JPEG图片格式简单分析
  18. 【unix】unix环境高级编程
  19. @Aspect注解用法
  20. Warning: ReactDOM.render is no longer supported in React 18.

热门文章

  1. 视学算法第五轮送书活动获奖名单
  2. 操作系统学习:进程、线程与Linux0.12初始化过程概述
  3. python下使用epoll
  4. 和为s的连续正数序列
  5. Django视图之介绍、项目准备、URL、路由命名、reverse反解析和Postman测试
  6. 脚本文件直接执行python代码
  7. 如何用数据结构解释计算机系统 常用数据结构
  8. PyTorch 系列教程之空间变换器网络
  9. 七种编程语言的学习曲线
  10. 路由网关--spring cloud zuul