linux - 如何使用 shell 脚本对新文件中的第 3 列进行排序,并更改新文件中第 2 列的相应值?

标签 linux shell sorting

我想使用 sort 进行排序命令。 输入文件是1.txt

      1    2   2
      1    3   5.5
      1    4   1.5
      1    5    2.2
      2    1    1.1
      2    3    0.7
      2    4    0.9
      2    5    0.4

输出文件应该是

  1    4   1.5
  1    2   2
  1    5   2.2
  1    3   5.5
  2    5   0.4
  2    3   0.7
  2    4   0.9
  2    1   1.1

第 3 列应排序,相应的第二列应更改。

最佳答案

似乎您只想对两个键进行数字排序:

$ sort -n -k1 -k3 file
      1    4   1.5
      1    2   2
      1    5    2.2
      1    3   5.5
      2    5    0.4
      2    3    0.7
      2    4    0.9
      2    1    1.1

-n 进行数字排序,首先对字段 1 -k1 进行排序,然后对字段 3 -k3 进行排序。

关于linux - 如何使用 shell 脚本对新文件中的第 3 列进行排序,并更改新文件中第 2 列的相应值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52090229/

相关文章:

c - 使用 MPI 进行双调排序

java - 对 arraylist 对象的值进行排序并在一个 lambda 中打印多个值

linux - Bash循环中的计数器增量不起作用

android - 如何在启动时使用 root 权限在 Android Things 设备上运行 shell 脚本?

shell - ffmpeg - 元数据中的多行文本(注释标签)

linux - shell脚本停止错误

Javascript:如何按其中一个字段中的值对记录数组进行排序?

linux - heroku --version 返回错误

linux - 如何循环传输管道中的数据?

c - 使用套接字进行多线程文件传输