我的数据如下所示:
Adelaide Crows 5 2 3 0 450 455 460.67 8
Essendon 5 5 0 0 622 352 955.88 20
Fremantle 5 3 2 0 439 428 598.50 12
正如您所见,空格和制表符混合存在。我需要能够对最后一列进行降序排序。所以输出看起来像这样:
Essendon 5 5 0 0 622 352 955.88 20
Fremantle 5 3 2 0 439 428 598.50 12
Adelaide Crows 5 2 3 0 450 455 460.67 8
整个数据包含所有 AFL 球队。
使用排序我怎样才能实现这一点。我尝试使用 $ 字符从行尾开始是正确的吗?对最后一列进行排序后,我还需要对倒数第二列进行排序。因此,最后一列中的任何重复数字都将排序在倒数第二列中。到目前为止的代码:
sort -n -t$'\t' -k 9,9 -k 8,8 tmp
如何考虑足球队名称将被视为空格?
这是正在排序的文件(文件名:'tmp')样本数据 http://hostcode.sourceforge.net/view/826
您可以使用以下命令将最后一个字段复制到第一个位置awk
首先,然后sort
通过第一个字段,使用删除第一个字段cut
.
awk '{print($NF" "$0)}' sample.txt | sort -k1,1 -n -r -t' ' | cut -f2- -d' '
Port Adelaide 5 5 0 0 573 386 916.05 20
Essendon 5 5 0 0 622 352 955.88 20
Sydney Swans 5 4 1 0 533 428 681.68 16
Hawthorn 5 4 1 0 596 453 620.64 16
Richmond 5 3 2 0 499 445 579.68 12
..
..
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)