如何按列对文本文件进行排序并保持原始顺序

2023-12-25

我有一个非常大的数据文件,有 15 列。我需要根据特定列(例如第 11 列)对所有行进行排序。我在 Linux 中使用以下命令:

sort -k11 -d myfile.txt > sortedfile

问题是排序命令不保留文件的原始顺序。例如,如果我有这样的东西:

1 mh3
3 ygb
4 mh3

我需要:

1 mh3
4 mh3
3 ygb

然而,我可能会得到:

4 mh3
1 mh3
3 ygb

是否有任何选项可以保留原始顺序或我可以使用的任何其他命令?


Option -s是你需要的(相当于--stable ):

sort -k11,11 -d -s myfile.txt > sortedfile

选项-k适用于一系列字段,因此您可能应该添加,11正如我上面所做的,否则排序将使用从第 11 列到行尾的键(默认)。

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

如何按列对文本文件进行排序并保持原始顺序 的相关文章

随机推荐

  • Java 枚举 - 为什么使用 toString 而不是 name

    如果你查看 enum api 中的方法name https docs oracle com javase 10 docs api java lang Enum html name 它说 返回此枚举常量的名称 与其枚举声明中所声明的完全相同
  • 何时以及如何将 ILMerge 与 Visual Studio 项目/解决方案结合使用

    我正在开发一个中型企业应用程序 有很多项目 解决方案 例如 Company Data 公司 Data LinqToSql 公司 实体 业务对象 公司 BLL 然后我有一些应用程序 例如 Windows 服务 我的Windows服务 当我部署
  • regexp_matches 摆脱返回大括号的更好方法

    有没有更好的修剪方法 regexp matches 的结果比 trim trailing from trim leading from regexp matches note 0 9a z r n i text regexp matches
  • Javascript:按三个值对对象数组进行排序

    我有一个对象数组 我想使用 sort 函数对其进行排序 它应按三个值排序 首先按第一个值排序 然后按第二个值排序 最后按第三个值排序 我尝试过类似以下的方法 但它似乎无法正常工作 myArray sort function a b if a
  • Chart.js 闪烁

    谁能告诉我为什么我的 Chart js 图表闪烁 请参阅此截屏视频 https www screencast com t J8demDuX https www screencast com t J8demDuX 视频中看起来很慢 但实际上变
  • 将一个命令的输出作为另一个命令的输入进行管道传输[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我有以下任务 编写一个 C 程序来读
  • Flutter:调试集成测试

    我正在学习 Flutter 并使用 Android Studio 作为我的 IDE 并且在集成测试方面遇到了一些痛点 作为学习过程的一部分 我编写了一个基本的集成测试 此集成测试的目的是检查图像小部件 通过 Image Asset 创建 以
  • 获取 Google 云端硬盘授权时遇到问题

    我有一个 Android 应用程序 我正在尝试 重新 实现 Google 云端硬盘访问权限 我遵循的方法是 Google 更新 REST API 的迁移指南here https github com gsuitedevs android s
  • 来自另一个类的 getter/setter 的 MethodHandle 给出 NoSuchFieldError

    假设我有简单的javabeanMyPerson with a name获取器和设置器 public class MyPerson private String name public String getName return name p
  • 无法读取 maven-resources-plugin 的工件描述符

    Stage 我正在尝试在 Eclipse 中编译 Maven 项目 Spring Tool Suite 版本 3 2 0 RELEASE 每个项目编译都会抛出这个 Could not calculate build plan Plugin
  • 如何区分不同类型的 Perl 测试,这样我就不必运行所有测试?

    我注意到 Perl 中的习惯是将所有测试放入t目录 如何将单元测试与功能测试分开 或者 为了使问题更简单 更明显 如何将快速运行的测试与运行速度慢的测试分开 当所有测试一起运行时 测试花费的时间太长 无法在开发中常规使用 这是遗憾的 我想我
  • Metro APP - BitmapImage 到 Byte[] 或从 Web 下载图像并将其转换为 Byte[] 数组

    有没有办法将 BitmapImage Windows UI Xaml Media BitmapImage 转换为 Byte 数组 我没有尝试过任何工作 另一种可能的情况 如果 BitmapImage 无法转换为字节数组 是从网络下载图像 然
  • 角度目录光滑执行

    我正在使用以下插件 http vasyabigi github io angular slick http vasyabigi github io angular slick 我也在使用 ng repeat 所以我发现它在 ng repea
  • 在宏中使用“else”

    我看过下面的代码 define QL REQUIRE condition message if condition std ostringstream ql msg stream ql msg stream lt lt message th
  • 如何以编程方式指定replyUrlsWithType

    我想设置replyUrlsWithType以编程方式在应用程序上manifest https learn microsoft com en us azure active directory develop reference app ma
  • Eclipse 在调试 java 时跳过断点

    我使用 Eclipse 已经很多年了 并且一直使用调试器 但最近我知道它可以在调试时跳过断点 我什至已经在 println 上设置了一个断点 我会看到文本出来 但不会到达断点 另外 有时我会在代码的一个区域一致地遇到断点 但在其他区域却不会
  • default(Type) 的编程等效项

    我正在使用反射来循环Type的属性并将某些类型设置为其默认值 现在 我可以切换类型并设置default Type 明确地 但我宁愿在一行中完成 是否存在与默认值等效的编程方式 如果是值类型使用激活器 CreateInstance http
  • SET NOCOUNT ON 使用情况

    灵感来自这个问题 https stackoverflow com questions 1483383 is this stored procedure thread safe or whatever the equiv is on sql
  • 如果数据包含撇号,如何插入?

    实际上 我的任务是使用 C 将 csv 文件加载到 sql server 中 所以我用逗号将其拆分 我的问题是某些字段的数据包含撇号 并且我正在触发插入查询以将数据加载到 sql 中 所以它给出了我的编码错误 using System us
  • 如何按列对文本文件进行排序并保持原始顺序

    我有一个非常大的数据文件 有 15 列 我需要根据特定列 例如第 11 列 对所有行进行排序 我在 Linux 中使用以下命令 sort k11 d myfile txt gt sortedfile 问题是排序命令不保留文件的原始顺序 例如