Если я выполню следующую команду rdiff
rdiff patch basefile patchfile outputfile
все работает так, как и ожидалось, однако, если я попытаюсь использовать stdin для предоставления базового файла следующим образом
xz -d -c basefile.xz | rdiff patch - patchfile outputfile
Я получаю следующие ошибки
librsync: ERROR: (rs_file_copy_cb) seek failed: Illegal seek
librsync: ERROR: (rs_job_complete) patch job failed: IO error
librsync: ERROR: IO error
На странице руководства четко указано:
In every case where a filename must be specified, - may be used instead to mean either standard input or standard output as appropriate.
Страница man неверна или я что-то делаю не так? Возможно ли предоставить базовый файл rdiff с помощью конвейера? Есть ли другой способ предоставить базовый файл rdiff с помощью команды xz без создания временного файла, который не подходит для того, чего я пытаюсь добиться?