千家信息网

Linux系统sort命令怎么用

发表于:2024-11-17 作者:千家信息网编辑
千家信息网最后更新 2024年11月17日,这篇文章将为大家详细讲解有关Linux系统sort命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Linux系统中sort命令只要的作用就是对文本文件内容
千家信息网最后更新 2024年11月17日Linux系统sort命令怎么用

这篇文章将为大家详细讲解有关Linux系统sort命令怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在Linux系统中sort命令只要的作用就是对文本文件内容进行排序,以空格作为字段分隔符,将一行分割为多个关键字。

语法

 sort [-bcdfimMnr][-o][-t][+-][--help][--verison][文件]

参数说明:

  • -b 忽略每行前面开始出的空格字符。

  • -c 检查文件是否已经按照顺序排序。

  • -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

  • -f 排序时,将小写字母视为大写字母。

  • -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

  • -m 将几个排序好的文件进行合并。

  • -M 将前面3个字母依照月份的缩写进行排序。

  • -n 依照数值的大小排序。

  • -u 意味着是唯一的(unique),输出的结果是去完重了的。

  • -o 将排序后的结果存入指定的文件。

  • -r 以相反的顺序来排序。

  • -t 指定排序时所用的栏位分隔字符。

  • +- 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

  • –help 显示帮助。

  • –version 显示版本信息。

案例演示

1、 首先我们将会创建一个用于执行‘sort’命令的文本文件(tecmint.txt)。工作路径是‘/home/$USER/Desktop/tecmint’。

下面命令中的‘-e’选项将启用‘\’转义,将‘\n’解析成换行

 $ echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt

Split String by Lines in Linux

2、 在开始学习‘sort’命令前,我们先看看文件的内容及其显示方式。

 $ cat tecmint.txt

Check Content of File

3、 现在,使用如下命令对文件内容进行排序。

 $ sort tecmint.txt

Sort Content of File linux

注意:上面的命令并不对文件内容进行实际的排序,仅仅是将其内容按有序方式输出。

4、 对文件‘tecmint.txt’文件内容排序,并将排序后的内容输出到名为sorted.txt的文件中,然后使用cat命令查看验证sorted.txt文件的内容。

 $ sort tecmint.txt > sorted.txt$ cat sorted.txt

Sort File Content in Linux

5、 现在使用‘-r’参数对‘tecmint.txt’文件内容进行逆序排序,并将输出内容重定向到‘reversesorted.txt’文件中,并使用cat命令查看文件的内容。

 $ sort -r tecmint.txt > reversesorted.txt$ cat reversesorted.txt

Sort Content By Reverse

6、 创建一个新文件(lsl.txt),文件内容为在home目录下执行‘ls -l’命令的输出。

 $ ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt$ cat lsl.txt

Populate Output of Home Directory

我们将会看到对其他字段进行排序的例子,而不是对默认的开始字符进行排序。

7、 基于第二列(符号连接的数量)对文件‘lsl.txt’进行排序。

 $ sort -nk2 lsl.txt

注意:上面例子中的‘-n’参数表示对数值内容进行排序。当想基于文件中的数值列对文件进行排序时,必须要使用‘-n’参数。

Sort Content by Column

8、 基于第9列(文件和目录的名称,非数值)对文件‘lsl.txt’进行排序。

 $ sort -k9 lsl.txt

Sort Content Based on Column

9、 sort命令并非仅能对文件进行排序,我们还可以通过管道将命令的输出内容重定向到sort命令中。

 $ ls -l /home/$USER | sort -nk5

Sort Content Using Pipe Option

10、 对文件tecmint.txt进行排序,并删除重复的行。然后检查重复的行是否已经删除了。

 $ cat tecmint.txt$ sort -u tecmint.txt

Sort and Remove Duplicates

目前我们发现的排序规则:

除非指定了‘-r’参数,否则排序的优先级按下面规则排序

  • 以数字开头的行优先级最高

  • 以小写字母开头的行优先级次之

  • 待排序内容按字典序进行排序

  • 默认情况下,‘sort’命令将带排序内容的每行关键字当作一个字符串进行字典序排序(数字优先级最高,参看规则 1)

11、 在当前位置创建第三个文件‘lsla.txt’,其内容用‘ls -lA’命令的输出内容填充。

 $ ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt$ cat lsla.txt

Populate Output With Hidden Files

了解ls命令的读者都知道‘ls -lA’ 等于 ‘ls -l’ + 隐藏文件,所以这两个文件的大部分内容都是相同的。

12、 对上面两个文件内容进行排序输出。

 $ sort lsl.txt lsla.txt

Sort Contents of Two Files

注意文件和目录的重复

13、 现在我们看看怎样对两个文件进行排序、合并,并且删除重复行。

 $ sort -u lsl.txt lsla.txt

Sort, Merge and Remove Duplicates from File

此时,我们注意到重复的行已经被删除了,我们可以将输出内容重定向到文件中。

14、 我们同样可以基于多列对文件内容进行排序。基于第2,5(数值)和9(非数值)列对‘ls -l’命令的输出进行排序。

 $ ls -l /home/$USER | sort -t "," -nk2,5 -k9

关于"Linux系统sort命令怎么用"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

排序 文件 内容 命令 输出 字符 数值 参数 字母 优先级 系统 两个 数字 目录 空格 篇文章 规则 最高 例子 关键 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海售后管理软件开发 军用软件开发 贵阳网络安全对抗 服务器日常维护多少钱 软件开发笔记本看重显卡 怎么查看sql连接服务器密码 代理服务器的局域网IP地址 火影ol服务器 北邮网络技术研究院拟录名单 群晖服务器把硬盘拔出又装回去 数据库安装实例名不能选默认 生态环境局网络安全领导小组 服务器动不动就黑屏 网络安全与中美贸易战 秋月之光服务器如何获得披风 万方数据知识平台属于什么数据库 5g网络技术研究发展难点 用友u8单机版导出数据库 服务器密码过期了怎么提示 数据库角色的创建和安全 软件开发是选什么专业 服务器测试前用软件检查 数据库的两层概念模型 宜良信息化软件开发价格走势 数据库事物丢失更新解决 名师讲坛校园网络安全节目 根据网络安全法制定规定 射阳网络安全监管部门 梦幻西游用什么软件开发的 服务器机房室
0