Да, это возможно. rsync
также имеет --update
, но с ним rsync
все еще использует его алгоритм передачи дельты в случае, если src является более новым. rsync
обеспечивает --whole-file
опция отключить этот алгоритм. Таким образом,
$ rsync --update --whole-file ...
должен иметь эффект, что src файлы только копируются в место назначения, когда они являются более новыми. И только проверки mtime должны использоваться для этого.
Существует несколько причин избежать алгоритма передачи дельты для специальных вариантов использования. Главным образом причины производительности и возможно передают объем в совершенно особых случаях.
Заключить в кавычки из страницы справочника:
- W, - целый файл
При использовании этой опции алгоритм передачи дельты rsync не используется, и целый файл отправляется как есть вместо этого. Передача может быть быстрее, если эта опция используется, когда пропускная способность между источником и целевыми машинами выше, чем пропускная способность к диску (особенно, когда "диск" является на самом деле сетевой файловой системой). Это - значение по умолчанию, когда и источник и место назначения указаны как локальные пути, но только если никакая пишущая пакет опция не в действительности.
Случай о сетевых файловых системах должен быть наиболее распространенным.
Кроме того, так как алгоритм передачи дельты является эвристикой, можно вообразить файлы, где алгоритм заканчивает тем, что передал целый файл и просто добавляет (время и пространство) наверху.
Вы сверхдумаете это. sed
замены только первая инстанция на строке по умолчанию (без /g
модификатор), хотя Вы все еще хотите привязать, потому что Вы надеваете; t так хочу первую инстанцию в строке как та в начале строки; и Вам обычно не нужны явные действия строки, которые Вы пытаетесь использовать (почему?).
sed 's/^" /"/'
Более общий ответ, так как я не могу комментировать ответ гекозавра. -Вы бы не поставили якорь ^ (начало строки ). Например, если вы хотите заменить первое вхождение A на B, у вас будет
sed 's/A/B/'
sed
команды такой какN
и маркировки такой как:a
не являются устаревшими вообще, и они являются портативными и указанный POSIX, в отличие от Perl/Python/Ruby/whatever. Это верно однако, что при нахождении их часто необходимо учитьсяawk
. – Wildcard 11.04.2016, 22:16