我正在尝试对下面的文件进行排序:
col1(升序)col2(降序)col3(升序)col4(降序)
我想使用-k命令,而不是 – 语法.
我已经弄清楚如何使用旧的语法:
sort -t " " +0 -1 +2 -3 +4r testfile
但它几乎不直观.
我没有想出使用-k选项的正确方法.谢谢.
这是测试文件:
5 3 2 9 3 4 1 7 5 2 3 1 6 1 3 6 1 2 4 5 3 1 2 3 5 2 2 3
结果:
1 2 4 5 3 4 1 7 3 1 2 3 5 3 2 9 5 2 2 3 5 2 3 1 6 1 3 6
你需要一个:
原文链接:https://www.f2er.com/bash/386662.htmlsort --key=1,1 --key=2,2r --key=3,3 --key=4,4r sort -k1,1 -k2,2r -k3,3 -k4,4r
如以下内容:
pax$echo '5 3 2 9 3 4 1 7 5 2 3 1 6 1 3 6 1 2 4 5 3 1 2 3 5 2 2 3' | sort --key=1,4r 1 2 4 5 3 4 1 7 3 1 2 3 5 3 2 9 5 2 2 3 5 2 3 1 6 1 3 6
记住要提供-n选项,如果您希望它们被视为正确的数字(可变长度),例如:
sort -n -k1,4r