2013-11-18 2 views
6

Я хотел бы сортировать svn status выход, но почему-то эта командастатус svn | сортировать - не сортировать вывод

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 

знаки вопроса не сортируются, например.

+2

Что такое вывод 'svn status', когда вы не можете« сортировать »его правильно? – fedorqui

+0

Протестировано на win7 и оно сортируется! Какой результат вы получаете без сортировки и какой результат вы ожидаете после сортировки? – A4L

+0

Может быть, некоторые из выходных данных направлены на stderr, поэтому попробуйте 'svn status | sort 2> & 1', который перенаправляет stderr на stdout –

ответ

1

Кажется, что вы хотите, чтобы вы использовали 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) отключает это последнее сравнение , так что строки, в которых все поля сравниваются с равными, остаются в их первоначальный относительный порядок.

+0

Можете ли вы объяснить, что такое «сравнение последнего курорта»? – Shahbaz

+0

Да, это работает, пожалуйста, уточните, как спросил Шахбаз. –

+0

@Shahbaz Добавлена ​​ссылка из руководства, объясняющая это. – devnull

Смежные вопросы