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



我想对输出进行排序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

例如,问号未排序。

似乎您希望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

从排序调用:

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

最新更新