如何对字段进行数字排序

如何对字段进行数字排序

我正在尝试按最后一列对名为“Team_James”的文件进行数字排序,然后我想将输出保存为名为“file3”的新文件。

我尝试了该命令sort Team_James | > s3,但我不知道该怎么做,我什至不知道-k是什么!我一直在互联网上到处寻找。

我究竟做错了什么?

这是我的命令的输出cat Team_James

Pam Murray      4    657-4324  18
Jim Brown       8    467-8743  22
Jim Roberts     17   728-8295  9
Joyce Murray    7    235-1432  13

答案1

查看该表,在第 1 列中,名字和姓氏之间有空格。这意味着,sort将考虑名字和姓氏两个单独的列。结果,输入表的最后一列是#5。下面的命令假设第 1 列中提供的所有名称都是名字/姓氏,并且没有中间名。

cat Team_James | sort -s -n -k 5.1 > file3
Jim Roberts     17   728-8295  9
Joyce Murray    7    235-1432  13
Pam Murray      4    657-4324  18
Jim Brown       8    467-8743  22
-n, --numeric-sort   compare according to string numerical value  
-s, --stable         stabilize sort by disabling last-resort comparison  
-k, --key=POS1[,POS2]  
      start a key at POS1 (origin 1), end it at POS2 (default end of  
      line).  See POS syntax above.  

相关内容