Sorting &引用;排序-c-k1“;第二个字段也比较好吗?
“排序”正确地报告这两行出现故障:Sorting &引用;排序-c-k1“;第二个字段也比较好吗?,sorting,Sorting,“排序”正确地报告这两行出现故障: > echo "a b\na a" | sort -c sort: -:2: disorder: a a 如何告诉sort只比较每行的第一个字段?我试过: > echo "a b\na a" | sort -c -k1 sort: -:2: disorder: a a 但它失败了,如上所述 我可以只对每行的第一个字段进行排序比较,还是必须进行排序比较 在比较之前使用sed之类的工具修剪线条 编辑:我使用的是“排序(GNUCoreutil
> echo "a b\na a" | sort -c
sort: -:2: disorder: a a
如何告诉sort只比较每行的第一个字段?我试过:
> echo "a b\na a" | sort -c -k1
sort: -:2: disorder: a a
但它失败了,如上所述
我可以只对每行的第一个字段进行排序比较,还是必须进行排序比较
在比较之前使用sed之类的工具修剪线条
编辑:我使用的是“排序(GNUCoreutils)7.2”。我尝试使用不同的字段分隔符,但没有帮助:
> echo "a b\na a" | sort -k1 -c -t" "
sort: -:2: disorder: a a
尽管我很确定空格是默认的分隔符。以下功能如预期所示:
echo "a b\na a" | sort -s -c -k1,1
排序调用有两个问题:
的参数是指定起始和结束位置的键定义。如果省略“结束位置”,则默认为行的最后一个字段,而不是“开始”字段-k
同时指定这两个字段,告诉-k1,1
不要在比较中包含第二个字段sort
- 默认情况下,
不稳定,这意味着它不能保证不干扰比较相等的行的顺序。引用文件:sort
sort
进行比较
整行,就好像除了--反向(-r
)之外没有其他订购选项一样
指定了。--stable
(-s
)选项禁用此选项
“最后的比较”,以便所有字段的比较行
在其原始相对顺序中保留相等的值
我认为默认情况下,sort
字段由逗号分隔。您可能必须使用-d
(IIRC)更改分隔符。它是-t
,但没有区别是的,我还认为-k
只是有问题。。。但除了这种求助方式,我没有发现它有任何缺陷,然后我想到在信息手册中搜索“稳定”。当使用-k
时,IMNSHO-s
应为默认值-谁希望在2013年进行非稳定排序?