如何按行中的最后一个数字对文件进行排序?
假设每一行的最后一个字符都是数字。 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
帮助??
答案 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,