Linux 中的排序命令及实例

2023-10-29

The `sort`Linux 中的命令是 GNU Coreutils 包的一部分。此命令用于按升序/降序对指定文件或标准输入中的文本行进行排序。排序后的输出可以写入文件或显示在标准输出上。这`sort`命令是一个简单而强大的工具,可用于各种场景,从对文件中的数据进行排序以进行进一步分析,到为报告准备数据。

在本文中,我们将讨论可用的各种选项`sort`命令并提供一些实际例子来说明其用法。

的基本语法`sort`命令如下:

1
2
# Syntax
sort [options] [file(s)]

此命令提供了各种选项,可用于自定义排序过程和需要排序的文件。如果没有指定文件,则`sort`命令将对标准输入(即键盘)中的输入进行排序。

以下是一些常用的选项`sort`Unix/Linux系统中的命令:

  • -r:按相反顺序对输入进行排序。
  • -n:对输入进行数字排序。
  • -k:根据特定字段或列对输入进行排序。
  • -b: 忽略前导空格。
  • -t:指定字段分隔符。
  • -u:从输出中删除重复的行。
  • -o:指定输出文件。

让我们通过一些示例来仔细研究每个选项。

对文件内容进行排序

默认内容按第一个字符升序排序。您只需输入`sort`命令后跟文件名。

sort data.txt 

您还可以使用以下命令为命令提供输入。

sort < data.txt 
cat data.txt | sort 

逆序排序

The -r选项用于按相反顺序对输入进行排序。以下是如何使用此选项的示例:

sort -r data.txt 

该命令对文本行进行排序data.txt文件以相反的顺序排列,并将结果显示在屏幕上。

数值排序

The -n选项用于对输入进行数字排序。对以文本形式表示的数字进行排序时,此选项非常有用。以下是如何使用此选项的示例:

sort -n data.txt 

此命令对 data.txt 文件中的文本行进行数字排序,并将结果显示在屏幕上。

按字段排序

The -k选项用于根据特定字段或列对输入进行排序。当对每行代表一条记录并且字段由特定分隔符分隔的表格数据进行排序时,此选项非常有用。字段编号由选项指定,字段编号从 1 开始。下面是如何使用此选项的示例:

sort -k 2 data.txt 

该命令对文本行进行排序data.txt基于第二个字段(列)的文件并在屏幕上显示结果。

指定字段分隔符

The -toption用于指定按字段排序时的字段分隔符。默认情况下,`sort`命令假设字段之间用a 分隔space or tab特点。但是,此选项允许您指定不同的字符作为字段分隔符。以下是如何使用此选项的示例:

sort -t "," -k 2 data.txt 

该命令对文本行进行排序data.txt基于第二个字段(列)的文件,字段分隔符是','。它将在屏幕上显示结果

删除重复行

The -u选项用于从输出中删除重复行`sort`命令。当对大文件进行排序并且您只想保留唯一的行时,此选项非常有用。以下是如何使用此选项的示例:

sort -u data.txt 

该命令对文本行进行排序data.txt文件并从输出中删除任何重复的行。结果显示在屏幕上。

指定输出文件

The -o选项用于指定排序数据的输出文件。当将排序的数据保存到不同的文件而不是在屏幕上显示时,此选项非常有用。以下是如何使用此选项的示例:

sort data.txt -o sorted_data.txt 

您还可以使用重定向来代替该选项">"运算符将内容写入文件。

sort data.txt > sorted_data.txt 

该命令对文本行进行排序data.txt文件并将结果保存到一个名为的新文件中排序数据.txt.

组合多个选项

您可以组合不同的选项来实现所需的排序结果。例如,要将文件按数字倒序排序并将结果保存到新文件中,可以使用以下命令:

sort -nr data.txt -o reverse_sorted_data.txt 

您还可以像这样组合不同的选项,

sort -t "," -k 2,3 -u data.txt 

该命令对文本行进行排序“数据.txt”基于第二个和第三个字段(列)的文件,字段分隔符是','并从结果中删除重复的条目并将其显示在屏幕上

结论

总之,`sort`命令是一个功能强大、用途广泛的工具,可用于在各种场景下对数据进行排序。可用的各种选项`sort`命令允许您自定义排序过程并达到所需的结果。通过本文提供的示例和解释,您应该很好地了解如何使用`sort`命令并能够将其应用到您自己的数据中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux 中的排序命令及实例 的相关文章

  • 如何在 Emacs 中创建目录?

    究竟如何使用 Emacs 创建新目录 我使用什么命令 如果可以的话请举个例子 创建目录dir to create type M x make directory RET dir to create RET 创建目录dir parent1 n
  • 如何在给定的时间间隔运行 Unix 命令?

    我想运行 Unix 命令 例如ls 通过脚本每隔 5 分钟一次 解释 我有一个 Unix 脚本 在该脚本中我有一个名为 ls 的命令 我希望该脚本中的 ls 命令每 5 分钟运行一次 Use watch The nflag 指定以秒为单位的
  • Symfony v4、php bin/console 无法按预期工作。自动中止[重复]

    这个问题在这里已经有答案了 我刚刚在我的新 SSD 上安装了 Composer php apache 等 之后我想开始编码 我从 IDE 中的另一个驱动器打开了我的项目 然后我想将我的灯具加载到我的新数据库中 但我不能 我什至无法进行迁移等
  • Maya Python 中的 cmds.scriptCtx 到底有什么作用?

    我想知道 cmds scriptCtx 命令到底是做什么的 因为我尝试将其直接从 Autodesk 帮助页面复制并粘贴到我的脚本编辑器中 但没有任何反应 以下是 Autodesk 帮助中的脚本 import maya cmds as cmd
  • 命令 test -x 在 ubuntu 中做什么?

    什么是test x从 etc cron daily logrotate 做什么 test x usr sbin logrotate exit 0 usr sbin logrotate etc logrotate conf 它是否测试是否已经
  • 日期格式到cron格式转换

    我想将日期格式更改为 cron 日期格式 怎么办 日期格式 2018 05 15 17 30 00 cron 格式 30 17 15 05 您可以通过多种方式做到这一点 但这是更简单的方法之一 bin bash DATESTR 2018 0
  • 不读取 awk 命令文件中的文件第一行

    我无法使我的 awk 命令列表无法读取数据文件的第一行 它必须读取除第一行之外的每一行 然后将运动员和年份连接成一个字符串 后来在程序中我使用了数组 我没有列出所有代码 下面列出了数据文件的前两行 我需要让它不读取标题行 而只从第一位运动员
  • 如何在 Bash shell 脚本中检查目录是否存在?

    什么命令检查 Bash shell 脚本中的目录是否存在 检查目录是否存在 if d DIRECTORY then echo DIRECTORY does exist fi 检查目录是否不存在 if d DIRECTORY then ech
  • `npm i` 命令有什么作用?

    什么是i在 npm CLI 中执行命令 我看到它是这样使用的 npm i package The iflag 是一个别名install so npm i package 是相同的 npm install package 从文档中 npm i
  • PHP shell_exec() 与 exec()

    我正在努力理解之间的区别shell exec and exec 我一直用exec 执行服务器端命令 我什么时候使用shell exec Is shell exec 只是一个简写exec 似乎参数更少 效果是一样的 shell exec以字符
  • MySQL 错误:#1142 - SELECT 命令被拒绝给用户

    我在一台服务器上的某个查询时遇到问题 在我测试过的所有其他地方 它工作得很好 但在我想使用它的服务器上 它不起作用 这是关于以下 SQL SELECT facturen id AS fid projecten id AS pid titel
  • IN 语句中的数据上下文 ExecuteCommand 参数

    运行自定义的最佳方式是什么sql声明使用IN从 C LinQ 到 sql 数据上下文 我努力了 db ExecuteCommand UPDATE tblCard SET used 1 WHERE id IN 0 AND customer i
  • 增加 .fig 文件中的散点标记大小

    我有一个图形文件 scatter fig 该图有许多使用 scatter 的散点绘图仪 现在我只有这个无花果文件 我需要增加所有散点的标记大小 手动尝试过 但非常困难 有没有办法我可以做类似的事情 H 图形句柄 s 点 h 设置 s 标记大
  • 如何使用 wamp 在 Windows 上烘焙 cakephp 2.0 应用程序

    我想在Windows系统上烤蛋糕php项目 我正在使用 wamp 服务器来运行 PHP mysql 我已经浏览过 cakephp 网站上的视频投射 并设置了环境设置 按照演示给出命令 蛋糕 后 最后我收到一条消息说 php 不被识别为内部或
  • MVVM 路由和中继命令

    两者有什么区别路由命令 http msdn microsoft com en us library system windows input routedcommand aspx and 中继命令 http msdn microsoft c
  • 从java程序调用SVN命令

    我想从 java 程序调用 SVN 命令 update commit 有什么帮助吗 SVN 乌龟SVN 环境 java程序将在jBoss服务器内运行 从应用程序服务器内使用 GUI SVN 客户端是一个非常非常糟糕的主意 而Tortoise
  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs
  • Ruby,通过 SSH 和 LOG 逐一运行 linux 命令

    我想用 Ruby 女巫 net ssh 编写代码 在远程 Linux 机器上一一运行命令并记录所有内容 在 Linux 机器上称为命令 stdout 和 stderr 所以我写函数 def rs ssh cmds cmds each do
  • 左右 mac“命令”键的配置不同吗?

    我想知道是否可以将右侧的 mac 命令 设置为像 ctrl 键一样 但保留左侧 命令 键的默认功能 谢谢 有一个非常棒的应用程序 称为 Ukelele 免费 不幸的是 它无法区分左右命令键 然而 我最近发现了一个更好的应用程序 名为 Con
  • Excel 2007 问题:预编程按钮突然不起作用[重复]

    这个问题在这里已经有答案了 今天 出乎意料的是 我工作的公司使用的表格的按钮突然出现了问题 奇怪的是 它只影响我确信是 ActiveX 命令按钮的部分 而不会导致其他形状或下拉菜单出现问题 问题 按钮没有反应 当您单击时 他们不会访问代码

随机推荐

  • FindBugs Bug Descriptions

    FindBugs Bug Descriptions This document lists the standard bug patterns reported byFindBugs version 1 3 9 Summary Descri
  • 【力扣】三数之和

    给你一个包含 n 个整数的数组 nums 判断 nums 中是否存在三个元素 a b c 使得 a b c 0 请你找出所有和为 0 且不重复的三元组 注意 答案中不可以包含重复的三元组 示例 1 输入 nums 1 0 1 2 1 4 输
  • KEIL 生成bin文件

    1 首先对于keil5其编译生成的HEX文件 一般通过勾选如下 在进行ISP烧写时 就可以通过传送HEX文件进行烧写 2 对于烧写而言不仅仅可以通过HEX文件进行烧写 还可以通过BIN文件进行烧写 且BIN文件比HEX文件更小 设置BIN文
  • Rust的内存安全三原则:所有权、借用及生命周期

    我们接下来要探讨的概念是Rust的内存安全及其零成本抽象原则的核心 它们让Rust能够在编译期检测程序中内存安全违规 在离开作用域时自动释放相关资源等情况 我们将这些概念称作所有权 借用和生命周期 所有权有点类似核心原则 而借用和生命周期是
  • 时序预测

    时序预测 MATLAB实现2 DCNN卷积神经网络时间序列预测 目录 时序预测 MATLAB实现2 DCNN卷积神经网络时间序列预测 预测效果 基本介绍 研究背景 模型结构 建模流程 程序设计 学习总结 参考资料 预测效果 基本介绍 一种基
  • Dolby与DTS杜比环绕与DTS环绕音响

    转自 http blog sina com cn s blog a15db8ae0101dlz7 html 杜比环绕与DTS环绕具有的相近之处在于它们都是属于有损的数字压缩技术 这种称为 感性的 数据压缩技术是基于人类心理声学上所具备的听音
  • AndroidStudio运行程序时启动虚拟机出现x86 emulation currently requires hardware acceleration!问题解决方法

    这个问题是没有安装intelhaxm android exe这个软件 找到 SDK安装目录 一般在C盘下C Users admini AppData Local Android Sdk extras intel Hardware Accel
  • C++:采用vector实现二分查找及其变种总结

    主要分为六种情况 闭区间 半开区间 中位值在循环之外的半开区间二分查找首个序列 中位值在循环之外的半开区间二分查找末尾序列 以及中位值在循环之外的完全开区间二分查找首个序列和中位值在循环之外的完全开区间二分查找末尾序列 include
  • 微信小游戏开发之四:使用three.js引擎

    一 前言 微信小游戏中最魔性的 跳一跳 就是基于three js 引擎开发的 看这里 不要再让我发邮箱了 源码放到github上了 GitHub地址 请自行下载 二 下载 three min js 打开页面 复制代码到本地 三 引用 使用如
  • Qt之输入对话框(QInputDialog)的相关参数(Qt::InputMethodHints)和(QLineEdit::EchoMode)学习

    本文参考文章 Qt 编程 输入对话框 QInputDialog 的使用 学习笔记 前言 QInputDialog类提供了一个简单的便捷对话框 可以从用户那里获取用户录入的单个值 当前Qt提供了五个静态接口函数用于获取常用的数据类型参数 单文
  • 【华为OD机试真题2023 JS】上班之路

    华为OD机试真题 2023年度机试题库全覆盖 刷题指南点这里 上班之路 知识点BFS搜索广搜 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 Jungle生活在美丽的蓝鲸城 大马路都是方方正正 但是每天马路的封闭情况都不一样
  • 在 Bash 中获取明天的日期:实用演练

    在系统管理和 shell 脚本世界中 操作日期和时间的能力至关重要 无论是用于计划任务 日志轮换还是简单地为文件添加时间戳 了解如何在脚本中使用日期都可以节省大量时间和精力 Bash Bourne Again Shell 为此提供了一组强大
  • 使用 PHP 和 Docker 设置开发环境

    本地开发环境对于 PHP 开发人员测试和调试应用程序至关重要 传统上 开发人员会依赖 XAMPP MAMP 或 WAMP 等工具 它们为本地开发提供成熟的 LAMP 堆栈 Linux Apache MySQL PHP 然而 随着应用程序变得
  • 如何使用 Iptables 在 Linux 中阻止 IP 地址

    Iptables 是 Linux 操作系统中内置的强大且灵活的防火墙工具 它用于建立 管理和配置IP数据包过滤规则表 Iptables 的常见用途之一是阻止或限制来自特定 IP 地址或 IP 地址范围的访问 本文提供了有关如何使用 Ipta
  • 如何在 Python 中创建和读取列表

    Python 是一种流行的编程语言 具有广泛的应用范围 包括数据科学 Web 开发和自动化 Python 中最基本 最重要的数据结构之一是列表 列表是值或项目的集合 可以是任何数据类型 包括字符串 整数 浮点数 甚至其他列表 在本文中 我们
  • 如何在 MacOS 上安装 Golang

    Go 是 Google 于 2009 年开发的一种编译型编程语言 由于其性能 可读性和简单性 它在软件开发行业中广受欢迎 Go 是一种通用编程语言 它的代码片段感觉很自然 与 C 或 Java 等其他语言相比 它可以用更少的代码行编写 Go
  • 什么是 Apache Prefork、Worker 和 Event MPM(多处理模块)

    Apache 是最流行的 Linux Web 服务器 大多数Linux系统管理员的学习阶段都是从Apache httpd Web服务器开始的 甚至我在学习过程中也使用过Apache Web服务器 在初始级别 系统管理员使用 Apache 他
  • 如何在 Debian 8 上安装 Ansible (Jessie)

    Ansible 是一种自动化工具 用于从单台计算机管理多个远程主机 它为您提供了针对大量远程主机的轻松配置 例如 您在多台机器上执行相同的任务 Ansible 为您提供了自动执行这些任务的选项 本教程将帮助您在 Debian 8 Jessi
  • Ubuntu 和 Debian Linux 中的 12 个 Apt 命令示例

    apt 命令是 Linux 操作系统中最强大 最通用的工具之一 它为用户提供了一个功能强大且易于使用的包管理系统 可用于轻松管理和安装软件 使用 apt 命令 用户可以快速轻松地从系统中搜索 安装 升级和卸载软件应用程序 本指南详细概述了
  • Linux 中的排序命令及实例

    The sort Linux 中的命令是 GNU Coreutils 包的一部分 此命令用于按升序 降序对指定文件或标准输入中的文本行进行排序 排序后的输出可以写入文件或显示在标准输出上 这 sort 命令是一个简单而强大的工具 可用于各种