我想对输出进行排序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)
选项禁用此最后手段 比较,以便保留所有字段比较相等的行 它们原来的相对顺序。