svn状态| sort - 不对输出进行排序

时间:2013-11-18 10:51:40

标签: linux bash svn sorting

我想排序svn status输出,但不知怎的,这个命令

svn status | sort

不对输出进行排序。 你知道为什么吗?

例如:

$ svn status 
?       idrd
?       core.7319
?       difftest
?       core.29328
A  +    rf_common/ext_api.sav
D       rf_common/ext_api/firewall_defs.h
D       rf_common/ext_api/rf_macro.h
?       firewall/src/hash2tuple.cpp.sav
!       firewall/src/hash2tuple.cpp
M       main.cpp
M       makefile

$ svn status | sort
A  +    rf_common/ext_api.sav
?       core.29328
?       core.7319
?       difftest
D       rf_common/ext_api
D       rf_common/ext_api/firewall_defs.h
D       rf_common/ext_api/rf_macro.h
!       firewall/src/hash2tuple.cpp
?       firewall/src/hash2tuple.cpp.sav
?       idrd
M       main.cpp
M       makefile
例如,

问号没有排序。

1 个答案:

答案 0 :(得分:2)

您似乎希望sort禁用最后的比较。

sort -s -k1,1
输入的

将产生:

!       firewall/src/hash2tuple.cpp
?       idrd
?       core.7319
?       difftest
?       core.29328
?       firewall/src/hash2tuple.cpp.sav
A  +    rf_common/ext_api.sav
D       rf_common/ext_api/firewall_defs.h
D       rf_common/ext_api/rf_macro.h
M       main.cpp
M       makefile

引用man sort

   -s, --stable
          stabilize sort by disabling last-resort comparison

来自sort invocation

  

最后,作为所有键比较相等的最后手段,排序比较   整条线,好像没有--reverse (-r)以外的订购选项   被指定了。 --stable (-s)选项禁用此最后手段   比较,以便所有字段比较相等的行保留   他们原来的相对秩序。