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
      www

      sort -u 压缩,唯一

      [root@oldboy oldboy]# uniq uniq.txt
      www
      aa
      bb
      aa
      cc
      dd
      1
      aa

      uniq压缩相邻行

  • -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: 11

      sort -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-user01

      sort -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命令的更多相关文章

  1. Linux基础:sort命令总结

    本文只总结一些常用的用法,更详细的说明见man sort和sort --help. sort命令 sort命令用于串联排序指定文件并将结果写到标准输出. sort可以指定按照何种排序规则进行排序,如按 ...

  2. 性能工具之linux常见日志统计分析命令

    引言 我前几天写过的性能工具之linux三剑客awk.grep.sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 ...

  3. 【转】linux中的sort命令

    转自:http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分 ...

  4. Linux常见的Shell命令

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...

  5. Linux常见目录及命令介绍

    一.Linux中常用的目录介绍:     /        -根目录     /bin    -命令保存目录(普通用户亦可读取的命令)     /boot    -启动目录,启动相关文件     /d ...

  6. linux 常见名词及命令(三)

    tar 用于对文件打包压缩或解压. 示例: 打包并压缩文件:tar -czvf 压缩包名.tar.gz 文件名 解压并展开压缩包:tar -zxvf 压缩包名.tar.gz -c 创建压缩文件 -x ...

  7. linux 常见名词及命令(一)

    linux  PK  wondows 稳定且有效率.免费或少许费用.漏洞少且修补快.多任务多用户. 安全的用户及文件权限策略.适合小内核程序的嵌入系统.相对不耗资源. 热门的开源系统 红帽企业系统(R ...

  8. linux 常见名词及命令(五)

    计划任务服务之一次性任务: at <时间> 安排一次性任务 atq 或at -l 查看任务列表 at -c 序号 预览任务与设置环境 atrm 序号 删除任务 安排任务示例: 在23:30 ...

  9. linux 常见名词及命令(六)

    查看软件安装位置 : dpkg -L 软件包名字 ubuntu环境的apache相关命令: 查看是否启动:ps -aux | grep httpd  或者 netstat -an | grep :80 ...

  10. linux 常见名词及命令(四)

    yum仓库的配置 yum仓库的配置文件存放在/etc/yum.repos.d/目录中. 第一步:切换到/etc/yum.repos.d/目录中. 第二步:使用vim编辑器打开一个名为'rhel7.re ...

随机推荐

  1. G1垃圾回收器

    垃圾回收器的发展历程 背景 01.G1解决的问题 G1垃圾回收器是04年正式提出,12开始正式支持,在17年作为JDK9默认的垃圾处理器. 在04年的时候,java程序堆的内存越来越大,从而导致程序中 ...

  2. PTA数据结构与算法题目集(中文) 7-43字符串关键字的散列映射 (25 分)

    PTA数据结构与算法题目集(中文)  7-43字符串关键字的散列映射 (25 分) 7-43 字符串关键字的散列映射 (25 分)   给定一系列由大写英文字母组成的字符串关键字和素数P,用移位法定义 ...

  3. time_wait 详解和解决方案

    1. 产生原因 2. 导致问题 3. Nginx 3.1 长连接 4. 解决方案 5 .参考 产生原因 TCP 连接关闭时,会有 4 次通讯(四次挥手),来确认双方都停止收发数据了.如上图,主动关闭方 ...

  4. Java工程中如何读取配置文件中参数信息

    Java中读取配置文件中参数: 方法一:通过JDK中Properties来实现对配置文件的读取. Properties主要用于读取Java的配置文件,不同的编程语言有自己所支持的配置文件,配置文件中很 ...

  5. Flask入门 之 没有装饰器的路由

    有些时候,需要一个类似路由的功能,但又不能或者不想写装饰器,这该怎么办? so easy! eg: @app.route('login') def login(): return 'hello wor ...

  6. 国外的一个代码 仓库 github --- 里面类似一个svn 的代码仓库

    https://github.com/wzhanke/shell 用户:wzh.e 邮箱:wzh.e@x.com 登陆密码:*wzh.e8*9

  7. cmd批处理转义字符%的详细解释

    cmd批处理转义字符%的详细解释 在命令行中使用for时不需要双%,这源于命令解释器对命令行与批处理的处理方式不同. 1.%是个ESCAPE字符,通常将之译为转义字符,但也有更形象的译名脱逸字符.逃逸 ...

  8. 1年左右的Java开发经验面试者的心得

    面试,相信只要踏入这行业的人都会经历,不同的公司有不同的面试流程,但是综合起来,其实还是大体一致的!只有不断的总结自己的面试经历,得出自己的技术不足点,才能更好的去查缺补漏,从而更加自信的进行面试找到 ...

  9. 津津的储蓄计划 NOIp提高组2004

    这个题目当年困扰了我许久,现在来反思一下 本文为博客园ShyButHandsome的原创作品,转载请注明出处 右边有目录,方便快速浏览 题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津\ ...

  10. python批量爬取动漫免费看!!

    实现效果 运行环境 IDE VS2019 Python3.7 Chrome.ChromeDriver Chrome和ChromeDriver的版本需要相互对应 先上代码,代码非常简短,包含空行也才50 ...