Linux基础:sort命令总结

本文只总结一些常用的用法,更详细的说明见man sortsort --help

sort命令

sort命令用于串联排序指定文件并将结果写到标准输出。

sort可以指定按照何种排序规则进行排序,如按照当前字符集排序规则(这是默认排序规则)、按照字典排序规则、按照数值排序规则、按照月份排序规则、按照文件大小格式(K<M<G)。还可以去除重复行,指定降序或升序(默认)的排序方式。

字符集排序、字段排序的顺序:
空字符串<空白字符<数值<a<A<b<B<...<z<Z

语法格式

Usage: sort [OPTION]... [FILE]...
  or:  sort [OPTION]... --files0-from=F

选项说明

OPTION 说明
-c 检测给定的文件是否已经排序。如未排序,则会输出诊断信息,提示从哪一行开始乱序。
-b 忽略字段前面的空格。若空格数量不固定时,推荐使用。"-n"选项隐含该选项。
-d 按照字典顺序排序,只支持字母、数值、空格。
-f 将所有小写字母等同于大写字母。
-k 指定要排序的key。
-n 按数值排序。
-o 将结果输出到指定文件中。
-r 降序排序。
-t 指定字段分隔符。

实例

测试文本1.txt

ZZ 2DF
AA 330
Sa n22
dB ss2
DD 231
   Aa 500
bB 300
CC 222
BB 200

示例

# 默认的排序规则为字符集排序规则,且为升序
[[email protected] ~]# sort 1.txt
AA 330
   Aa 500
BB 200
bB 300
CC 222
dB ss2
DD 231
Sa n22
ZZ 2DF

# 将小写字母等同于大写字母
[[email protected] ~]# sort -f 1.txt
   Aa 500
AA 330
BB 200
bB 300
CC 222
dB ss2
DD 231
Sa n22
ZZ 2DF

# 降序
[[email protected] ~]# sort -r 1.txt
ZZ 2DF
Sa n22
DD 231
dB ss2
CC 222
bB 300
BB 200
   Aa 500
AA 330

# 根据第二列排序,分隔符为空格
[[email protected] ~]# sort -t $' ' -k2 1.txt
BB 200
CC 222
DD 231
ZZ 2DF
bB 300
AA 330
   Aa 500
Sa n22
dB ss2

# 将以上结果输出到2.txt
[[email protected] ~]# sort -t $' ' -k2 1.txt -o 2.txt
[[email protected] ~]# cat 2.txt
BB 200
CC 222
DD 231
ZZ 2DF
bB 300
AA 330
   Aa 500
Sa n22
dB ss2

原文地址:https://www.cnblogs.com/Rohn/p/11130197.html

时间: 2024-11-11 04:29:55

Linux基础:sort命令总结的相关文章

【系统知识点】linux基础&优化命令

Xshell上传下载服务器的文件: yum -y install lrzsz sysstat//安装对应软件 sz XXXX//下载 rz XXXX//上传 创建用户: Useradd vrfxie //创建用户 -c comment 指定一段注释性描述. -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录. -g 用户组 指定用户所属的主用户组. -G 用户组,用户组 指定用户所属的附加组. -s Shell文件 指定用户的登录Shell. #可以设置为/sbin

Linux基础文件管理命令之ls,cd

Linux中提供了大量的命令,使用他们可以简化我们的工作,也许在图形化界面中要点击鼠标十几下操作,而在linux系统中一条命令就可以轻松解决.所以,在Linux系统上工作离不开使用系统提供的命令.要想真正理解Linux系统,就必须从Linux命令学起. linux系统中的命令格式一般如下: 命令格式:   命令  选项  参数     选项:       短选项: -       多个选项可以组合:-a -b = -ab       长选项: -- 参数:命令的作用对象 下面主要介绍ls和cd命

Linux基础文件管理命令之rm,mv,cp,touch

在linux系统下,一切皆文件,就连光盘也看作文件,要使用光盘首先要先建立一个目录,然后通过挂载来操作这个光盘,就连鼠标,键盘都是被看作文件.所以学习文件的相关操作命令是很重要的. rm命令 rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,它也可以将某个目录及其下的所有文件及子目录均删除.对于链接文件,只是删除了链接,原有文件保持不变. 注:rm是一个危险的命令,使用的时候要特别小心,尤其对于新手,否则整个系统就会毁在这个命令,比如以root身份在根目录下执行rm * rf

Linux基础tree命令

tree命令以树状图列出文件目录结构.不过某些Linux上(Centos 6.4)没有tree命令,本文将介绍安装方法. 常用参数: tree -d 只显示目录. tree -L 1 只显示第一层目录. [[email protected] tree-1.7.0]# tree -bash: tree: command not found 安装tree命令: [[email protected] 下载]# tree -bash: tree: command not found 到ftp://mam

Linux中sort命令

Linux sort命令用于将文本文件内容按某种方式排序,默认是ASCII码方式: 语法说明: sort[-bcdfimMnur][-o<输出文件>][-t<分隔字符>][-k<n,m>][文件] 常用参数: -b 忽略每行前面开始出的空格字符. -c 检查文件是否已经按照顺序排序. -d 排序时,处理英文字母.数字及空格字符外,忽略其他的字符. -f 排序时,将小写字母视为大写字母. -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符. -m 将几

Linux下sort命令的使用

Linux下的sort命令默认将文件中的每一行为单位,进行排序,然后输出.具体地,就是从每行的第一个字符开始,依次按ASCII码值进行比较,最后将结果按升序排序输出. 1.sort常用选项 -u 在排序的时候忽略相同的行,类似于uniq命令,不过uniq命令只能跳过相邻的相同行,并不能进行排序. -n 按照数字大小排序,而不是文本的ascii码顺序. -r 反序,也就是降序. -t 指定列分隔符,注意这里的分隔符只能是一个字符,不能是多个字符,-t, --field-separator=SEP

Linux 基础入门----命令执行顺序控制与管道

介绍 顺序执行.选择执行.管道.cut 命令.grep 命令.wc 命令.sort 命令等,高效率使用 Linux 的技巧. 一.命令执行顺序的控制 1.顺序执行多条命令 通常情况下,我们每次只能在终端输入一条命令,按下回车执行,执行完成后,我们再输入第二条命令,然后再按回车执行…… 你可能会遇到如下使用场景:我需要使用apt-get安装一个软件,然后安装完成后立即运行安装的软件(或命令工具),又恰巧你的主机才更换的软件源还没有更新软件列表(比如之前我们的环境中,每次重新开始实验就得sudo a

Linux基础入门级命令文档

Linux系统上命令的使用格式,及常用命令示例 1.命令提示符 登录系统后,第一眼看到的内容是: [[email protected] ~]# 上图就是 Linux 系统的命令提示符.那么,这个提示符的含义是什么呢? []:这是提示符的分隔符号,没有特殊含义. root:显示的是当前的登录用户,笔者现在使用的是 root 用户登录. @:分隔符号,没有特殊含义. node1:当前系统的简写主机名node1. ~:代表用户当前所在的目录,此例中用户当前所在的目录是家目录. ]#:命令提示符,Lin

[shell基础]——sort命令

sort命令 sort是按照ASCII码升序输出,且是从首字符依次向后比较的 常见选项      -c 测试文件是否已经被排序 -r  逆向排序      -n 按照数字数值大小排序 -t  指定分割符      -k 指定域 -u 去除结果中的重复行      -m 合并两个已排序的文件      -o 将输出写到指定的文件 (1) -u 排序后去除重复行 # cat 1.txt 1:datadir=/aaa/zzz: 2:basedir=:cc 4:datadir=/sdfsfsd:dd 3

Linux的sort命令详解

sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. 选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同:-b :忽略最前面的空格符部分:-M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法:-n :使用『纯数字』进行排序(默认是以文字型态来排序的):-r :反向排序:-u :就是 uniq ,相同的数据中,仅出现一行代表:-t :分隔符,默认