За на этот вопрос + ответ , вы можете написать это как канал.Каналы являются неотъемлемой частью программирования оболочки и сценариев оболочки.
find /path/to/files -type l -print | \
rsync -av --files-from=- /path/to/files user@targethost:/path
Что здесь происходит?
Команда find
начинается с / path / to /файлы и шаги рекурсивно через все "под" этой точкой.Опции find
- это условия, которые ограничивают то, что выводится с помощью опции -print
.В этом случае для поиска «стандартного вывода» будут напечатаны только элементы -type l
(символическая ссылка в соответствии с man find
).
Эти файлы становятся «стандартным вводом» команды rsync
--file-from
вариант.
Дайте ему шанс.Я на самом деле не проверял этого, но мне кажется, что это должно работать.