Unix:按最后一行数排序

时间:2013-06-14 02:09:41

标签: unix

如何按行中的最后一个数字对文件进行排序?

假设每一行的最后一个字符都是数字。 INPUT:

facebook.com/pageA,2,11,11
facebook.com/pageB,0,0,20
facebook.com/pageC,0,0,6
facebook.com/pageD,1,22,239

期望的输出:

facebook.com/pageC,0,0,6
facebook.com/pageA,2,11,11
facebook.com/pageB,0,0,20
facebook.com/pageD,1,22,239

帮助??

3 个答案:

答案 0 :(得分:5)

您可以使用sort

sort -n -t, -k4 INPUT

答案 1 :(得分:2)

使用rev反转每一行,然后排序,然后重新反转:

rev < $file | sort | rev

答案 2 :(得分:2)

如果您的输入文件在每行中有不同的列,那么您可以将最后一列作为第一列,按其排序然后将其删除。

awk '{print($NF,$0)}' FS=, OFS=, inputFile | sort -t, -nk1 | cut -f2- -d,