sort

以行为单位,对文本文件进行排,并输出排序结果。默认情况下,以每一行为一个单位,从首字符开始按照ASCII码向后逐个比较。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

      sort [选项]  file

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

 

2、选项列表

选项

说明

--help

显示帮助文档

--version

显示版本信息

-b

忽略每行开头的空白字符

-d | --dictionary-order

排序时只考虑空格、数字、英语字母

-f | --ignore-case

将小写字母改为大写

-g | --general-numeric-sort

按一般数值比较

-i | --ignore-nonprinting

只考虑040到176之间的ASCII字符

-M | --month-sort

按月份排序

-h | --human-numeric-sort

按可读性数据排序,例如1K,2G

-n | --numeric-sort

按数值大小排序

-R | --random-sort

按键的随机散列排序

--random-source=FILE

从文件中获取随机字节

-r | --reverse

逆序排列

--sort=WORD

按给出的要求排序:general-numeric  -g,  human-numeric  -h,  month  -M, numeric -n, random -R, version -V

-V | --version-sort

按版本数字排序

--batch-size=NMERGE

最多一次合并NMERGE个输入;更多地使用temp文件

-c | --check | --check=diagnose-first

检测是否已排序,不排序

-C | --check=quiet | --check=silent

和“-c”一样,不要报告第一个坏行

--compress-program=PROG

用prog压缩时间,用prog-d解压

--files0-from=F

从文件F中以NUL结尾的名称指定的文件读取输入;如果F是-,则从标准输入中读取名称。

-k | --key=POS1[,POS2]

在POS 1(起始1)处启动键,在POS 2(默认行尾)结束键

-m | --merge

合并已经排序的文件,不排序

-o | --output=file

将结果输出到指定文件

-s | --stable

通过禁用最后的比较来稳定排序

-S | --buffer-size=SIZE

主内存缓冲器使用SIZE

-t | --field-separator=SEP

使用sep代替分隔符

-T | --temporary-directory=DIR

将DIR用于临时目录,而不是$TMPDIR或/tmp;多个选项指定多个目录

-u, --unique

和“-c”一起使用,检查是否有严格的排序;如果没有-c,则只输出相同运行的第一个。

-z, --zero-terminated

结束行为0字节,而不是换行符

 

3、实例

1)直接排序

[root@192 weijie]# cat 1.c

1K

1M

1G

1T

[root@192 weijie]# sort 1.c         //直接对比字符排序

1G

1K

1M

1T

2)按照可读的单位来排序

[root@192 weijie]# sort -h 1.c       //文件的内容按照单位排序,这些很明显是内存大小单位

1K

1M

1G

1T

3)按照数字排序

[root@192 weijie]# cat 2.c

123

23

212

[root@192 weijie]# sort 2.c         //默认排序,按照字符逐个比较

123

212

23

[root@192 weijie]# sort -n 2.c     //把内容当做数字排序

23

123

212

Linux基础命令---sort的更多相关文章

  1. [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

    linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...

  2. Linux基础命令小结(超全!!)

    Linux目录结构 1.bin 存放经常使用的指令比如ll,cp 2.sbin 系统管理员使用的系统管理指令 3.home 存放普通用户的住目录 4.root 系统管理员的用户主目录 5.boot 存 ...

  3. Linux基础命令整合

    linux基础命令整理 1.系统相关命令 shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3) shutdown -h hours:minu ...

  4. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  5. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  6. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  7. 2.Linux基础命令

    linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...

  8. linux基础命令一

    linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date  [options...]  [+FORMAT] FORMAT:为显示日期的格 ...

  9. linux基础命令:

    linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...

随机推荐

  1. Spring加载xsd文件报错:because 1) could not find the document; 2) the document could not be read...

    Spring启动时加载xml文件的过程: spring在加载xsd文件时总是先试图在本地查找xsd文件(spring的jar包中已经包含了所有版本的xsd文件),如果没有找到,才会转向去URL指定的路 ...

  2. MAC - 系统升级导致COCOAPODS失效问题

    使用pod install出现如下错误: macdeMacBook-Pro:QRCodeDemo mac$ pod install -bash: /usr/local/bin/pod: /System ...

  3. CvArr* to cv::Mat 转换

    OpenCV中的CvArr*的定义的一个空类型的指针,可以转换为其派生类CvMat和IplImage,那么如何将其转化为cv::Mat呢,其实很简单,只需要一行代码即可: // CvArr *_img ...

  4. JAVAORM框架之Mybatis (Ibatis) 详解

    目录 Mybatis基础概念 Mybatis开放方式演进 Mybatis框架核心要点 关联查询 延迟加载(懒加载) 动态SQL Mybatis缓存 Mybatis逆向工程 PageHelper分页插件 ...

  5. 模拟线程安全的售票案例(java)

    package try51.thread.safe; import java.util.ArrayList; import java.util.Random; import java.util.con ...

  6. hihocoder 1829 - 压缩字符串 - [状压+暴力枚举][2018ICPC北京网络预赛B题]

    题目链接:https://hihocoder.com/problemset/problem/1829 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 Lara Croft, ...

  7. codeforces 798B - Mike and strings

    感觉自己好咸鱼呀……B题写了这么久,虽然可以算作1A(忽略一次少include一个头文件的CE)…… 思想很简单,每次选定一个字符串作为目标字符串,然后把其他所有字符串都当做测试字符串,计算出总共需要 ...

  8. angular2新建的项目上传github

    前提1.git配置好,参见博文 git常用操作 2.angular2安装配置好,这个网上有很多教程,就不多说了,参见angular2快速起步 需要注意的是,大部分问题都是网络问题. 3.新建一个ng项 ...

  9. Python Cookbook 笔记--12章并发编程

    <Python Cookbook(第3版)中文版> 1.队列queue的有些方法是线程不安全的,在多线程中最好别用 2.需要限制一段代码的并发访问量时,用信号量.不要把信号量当做普通的锁来 ...

  10. Linux替换字符串

    sed命令批量替换多个文件中的字符串: 命令:sed -i “s/原字符串/新字符串/g” `grep 原字符串 -rl 所在目录` 例如:我要把 xy 替换为 mn,执行命令: sed -i “s/ ...