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

Ran*_*gev 6 linux svn sorting bash

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

svn status | sort
Run Code Online (Sandbox Code Playgroud)

不排序输出.你知道为什么吗?

例如:

$ 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
Run Code Online (Sandbox Code Playgroud)

例如,问号没有排序.

dev*_*ull 2

您似乎想sort禁用最后手段比较。

话说

sort -s -k1,1
Run Code Online (Sandbox Code Playgroud)

你的输入会产生:

!       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
Run Code Online (Sandbox Code Playgroud)

引用man sort

   -s, --stable
          stabilize sort by disabling last-resort comparison
Run Code Online (Sandbox Code Playgroud)

排序调用

最后,作为最后的手段,当所有键比较相等时,排序会比较整行,就好像没有--reverse (-r) 指定任何排序选项一样。该--stable (-s)选项禁用这种最后的比较,以便所有字段比较相等的行保留其原始相对顺序。