У меня есть файл, который rsync использует как --files-from:
dir1
dir2
dir3
Я хочу иметь возможность размещать комментарии над каждой записью в директории следующим образом:
# my dir1 comment
dir1
#dir2 comment
dir2
#yet another comment
dir3
но rsync жалуется "Нет такого файла или каталога"
Пока что я пробовал #, //, - ,, SPACE
Есть ли способ закомментировать / отключить записи?
files-from
файла.Ответы:
Согласно
man
странице наrsync:
Я только что провел быстрый тест, и действительно,
#
и;
строки игнорируются.источник
;
но#
(глядя здесь , поиск ‚когда правила ... '). → Так что, возможно,#
немного безопаснее ...Сделайте,
grep -v '^#' file > /tmp/filetmp
а затем запустите rsync на/tmp/filetmp
В зависимости от вашей оболочки вы можете избежать временного файла (это действительно в Bash):
Странно выглядящий
<( … )
синтаксис - это то, что Bash называет подстановкой процесса .источник
--files-from=-
чтобыrsync
прочитать список из стандартного ввода.состояние на данный момент (протокол протокола rsync версии 3.1.1 версия 31): все строки, начинающиеся с
#
или;
игнорируемые, даже неman
имеют информации об этом (мой случай был другим, я хотел скопировать файл с именем;_char
и был удивлен, что даже не использовал - опция -from0 - после смены строки./;_char
она начала работать). Кажется, что используется та же самая функция синтаксического анализа, что и для опций,--include-from
или--exclude-from
для этих двухman
страниц опций упоминается:Blank lines in the file and lines starting with ’;’ or ’#’ are ignored
источник