Проблема в том, что каждый из 12345
, 12346
, 12347
передается как отдельный аргумент;вам нужно, чтобы он был объединен с -c
в один аргумент.
Предполагая, что вы используете GNU findutils версию xargs
, вы можете использовать опцию -I
.Пример, в котором не используется svn:
$ printf "12345\n12346\n12347\n" | xargs -n 1 -I{} echo svn diff -c{}
svn diff -c12345
svn diff -c12346
svn diff -c12347
Обратите внимание, что это вызывает svn diff
один раз для каждого номера версии.Ваша команда вызывает svn
один раз с несколькими номерами версий.Если вы хотите вызвать svn один раз для нескольких номеров версий:
svn diff -c12345 12346 12347
, тогда потребуется другое решение.
РЕДАКТИРОВАТЬ:
Чтениедругой ответ и документация по svn, похоже, что после -c
может быть пробел, поэтому допустимы либо svn diff -c12345
, либо svn diff -c 12345
.В этом случае, просто с помощью -n 1
следует добиться цели.