Рейтинг:1

Любой пакет Linux, который помогает мне работать с пробелами и круглыми скобками в именах файлов.

флаг in

У меня есть резервный файловый сервер Ubuntu. Я делаю резервную копию файла САПР, который используется в системе Windows. Излишне говорить, что пользователи очень щедры на пробелы и круглые скобки в своих именах файлов. Попытка rsync файла из резервной копии — это кошмар. Вот пример:

sudo rsync -a user@192.168.1.211:/media/bak/bim/daily.5/ТЕКУЩИЕ РАБОТЫ/17/17142 Здание (ECR) - 55900 EL CAMINO REAL, MENLO PARK/ЦЕНЫ/ДЛЯ ЦЕНОВ 15.02.2018 ( ОБНОВЛЕНИЕ БЮДЖЕТА ЗДАНИЯ 1, 2 и 3)/01_Drawings/500 ECR — Офисное здание _2/500 ECR — B2 — BS 1.8.18 — Civil Set.pdf .

есть ли способ справиться с такими именами, кроме простого добавления кавычек, так как мне нужно избегать скобок, а также пробелов? Я надеялся, что будет пакет, который позволит Linux работать с такими именами файлов?

Благодарность

флаг in
Такой путь почти заставляет меня думать, что это будет какой-то графический интерфейс или TUI для передачи файлов. Если вам действительно нужно иметь дело с путями, я бы, вероятно, просто поместил путь в файл и использовал параметр `--include-from` для выбора файлов.
Рейтинг:0
флаг cn

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= для передачи этих файлов. При выполнении восстановления сохранение точного списка файлов может быть полезно для дальнейшего использования.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.