bash - 根据文件的第二列对数据进行排序

标签 bash shell unix

我有一个包含 2 列和 n 行数的文件。

column1 包含 names 和 column2 age

我想根据age(在第二列)升序排列这个文件的内容。

结果应该显示最年轻的人的 namename 然后是第二小的人等等...

对单行 shell 或 bash 脚本的任何建议。

最佳答案

您可以使用 sort commandkey 选项,它需要一个“字段编号”,所以如果你想要第二列:

sort -k2 -n yourfile

-n, --numeric-sort compare according to string numerical value

例如:

$ cat ages.txt 
Bob 12
Jane 48
Mark 3
Tashi 54

$ sort -k2 -n ages.txt 
Mark 3
Bob 12
Jane 48
Tashi 54

关于bash - 根据文件的第二列对数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6438896/

相关文章:

bash 如何处理当前时间的小时数

shell - Mongodb shell mongo : Only one usage of each socket address (protocol/network address/port) is normally permitted. 用于套接字 : 0. 0.0.0:27017

ruby - Ruby 1.8 的 Shellwords.shellescape 实现

c - 如何为一组 pthreads 共享互斥锁?

linux - Unix - 文件名开头的空格

linux - Bash - 查找 exec 返回值

linux - 如何在 Linux 中以用户身份为 gfortran 设置环境?

linux - 如何在 linux 中查找字符串并将其添加到文件中

unix - 数据库连接的段错误 pro*c 代码

linux - 如何找到文件的所有符号链接(symbolic link)?