R******d 发帖数: 1436 | 1 文本好比这样:
1020853 ABC 376
1113921 ABC 377
1740302 ABC 383
1258344 ABC 397
926981 ABC 483 185
我想的排序方法是:
首先根据第二列,
再根据第四列,如果有数值拍到前面
再根据第三列,数字按大小排序:
我用的是 sort -k2 -k4r -k3n file 不成功,请问应该怎么写,多谢了。 |
N****w 发帖数: 21578 | 2 你先用一个选项,看输出对头么
【在 R******d 的大作中提到】 : 文本好比这样: : 1020853 ABC 376 : 1113921 ABC 377 : 1740302 ABC 383 : 1258344 ABC 397 : 926981 ABC 483 185 : 我想的排序方法是: : 首先根据第二列, : 再根据第四列,如果有数值拍到前面 : 再根据第三列,数字按大小排序:
|
R******d 发帖数: 1436 | 3 我试了一下,一个是可以的,两个就不行了
就是用-k2 -k3nr也得不到我想要的结果,不知道为什么
【在 N****w 的大作中提到】 : 你先用一个选项,看输出对头么
|
R******d 发帖数: 1436 | 4 sort -k2,2 -k4r -k3n 可以,不太明白2,2的用法,但是work
【在 R******d 的大作中提到】 : 我试了一下,一个是可以的,两个就不行了 : 就是用-k2 -k3nr也得不到我想要的结果,不知道为什么
|
v*****r 发帖数: 1119 | 5 sort -k 2,2 -k 4nr,4 -k 3n,3
2,2 = start_position,end_position
if you don't specify end position, by default it is end of line, which make
multiple -k options meaningless
【在 R******d 的大作中提到】 : sort -k2,2 -k4r -k3n 可以,不太明白2,2的用法,但是work
|
R******d 发帖数: 1436 | 6 多谢,发包子
make
【在 v*****r 的大作中提到】 : sort -k 2,2 -k 4nr,4 -k 3n,3 : 2,2 = start_position,end_position : if you don't specify end position, by default it is end of line, which make : multiple -k options meaningless
|
v*****r 发帖数: 1119 | 7 谢包子
【在 R******d 的大作中提到】 : 多谢,发包子 : : make
|
c**b 发帖数: 2999 | 8 看看帮助文件就解决了啊.
【在 R******d 的大作中提到】 : 文本好比这样: : 1020853 ABC 376 : 1113921 ABC 377 : 1740302 ABC 383 : 1258344 ABC 397 : 926981 ABC 483 185 : 我想的排序方法是: : 首先根据第二列, : 再根据第四列,如果有数值拍到前面 : 再根据第三列,数字按大小排序:
|