关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »Linux 中 sort 命令的14个有用的范例(一)

    Linux 中 sort 命令的14个有用的范例(一)

    2015-05-02 00:00:00 出处:oschina
    分享

    Sort是用于对单个或多个文本文件内容进行排序的Linux程序。Sort命令以空格作为字段分隔符,将一行分割为多个关键字对文件进行排序。需要注意的是除非你将输出重定向到文件中,否则Sort命令并不对文件内容进行实际的排序(即文件内容没有修改),只是将文件内容按有序输出。

    本文的目标是通过14个实际的范例让你更深刻的理解如何在Linux中使用sort命令。

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

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

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

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

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

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

    $ cat tecmint.txt

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

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

    $ sort tecmint.txt

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

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

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

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

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

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

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

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

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

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

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

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

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

    $ sort -nk2 lsl.txt

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

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

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

    $ sort -k9 lsl.txt

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    $ sort lsl.txt lsla.txt

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

    注意文件和目录的重复

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

    $ sort -u lsl.txt lsla.txt

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

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

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

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

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

    先到此为止了,在接下来的文章中我们将会学习到‘sort’命令更多的详细例子。届时敬请关注我们。保持分享精神。若喜欢本文,敬请将本文分享给你的朋友。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。