rsync имеет большое количество опций для управления выбором файлов на основе шаблонов, похожих на глобусы. Например, --include-from=~/restore-pattern.txt и файл может содержать новые шаблоны с разделителями строк, которых достаточно для идентификации файлов:
/media/bak/bim/daily.5/CURRENT JOBS/17/17142**15-02-2018**500 ECR - B2 - BS 1.8.18 - Civil Set.pdf
Поскольку rsync читает файл, он не должен быть безопасным для оболочки. Запись ** соответствует косой черте, что удобно, но подтвердите, что это соответствует только тому, что вы хотите.
К сожалению, в POSIX-подобных средах нет единообразного способа правильно указывать имена файлов. См. Имена файлов Дэвида Уилера и Пути в Shell: как это сделать правильно за неприятные подробности. В частности, null — это единственный символ, который гарантированно не содержится в имени пути. Большинство сценариев оболочки не справляются с этим, они ломаются в угловом регистре имен входных файлов с новыми строками в них.
Пути, разделенные нулями, — это один из способов максимизировать имена файлов, принимаемые инструментами. С GNU findutils и rysnc можно использовать найти -print0 чтобы записать список имен файлов, затем rsync --from0 --files-from= для передачи этих файлов. При выполнении восстановления сохранение точного списка файлов может быть полезно для дальнейшего использования.