[英]Sort rows in a tab delimited file with numerical order
我正在尝试对以下格式的文件进行排序
ch1 1 209
ch1 23 890
ch3 45 21
ch4 66 12
ch10 12 90
ch10 11 53
我正在使用命令
sort -t $"\t" -nk1 filename
但是结果是ch1在ch10之后
ch10 12 90
ch10 11 53
ch1 1 209
ch1 23 890
ch3 45 21
ch4 66 12
但是我希望数值在1之前排在10之前。 那么有人可以建议需要做什么吗? 预期结果:
ch1 1 209
ch1 23 890
ch3 45 21
ch4 66 12
ch10 12 90
ch10 11 53
在KEYDEF的字段中指定数字开头的字符索引。 在这种情况下,我们要对第一个字段的数字部分(从第三个字符开始)进行排序,即-k1.3n
:
$ sort -k1.3n file
ch1 1 209
ch1 23 890
ch3 45 21
ch4 66 12
ch10 11 53
ch10 12 90
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.