有没有办法将评论放在rsync --files-from文件中?


10

我有一个rsync用作--files-from的文件:

dir1
dir2
dir3

我希望能够像这样在每个目录条目上方添加注释:

# my dir1 comment
dir1

#dir2 comment
dir2

#yet another comment
dir3

但是rsync抱怨“没有这样的文件或目录”

到目前为止,我已经尝试过#,//,-,SPACE

有没有办法注释/禁用条目?


我不知道该files-from文件的任何评论机制。
jw013

Answers:


17

根据man页面rsync:

“ ... FILE中的空白行和以';'开头的行 或'#'被忽略...”

我只是跑了一个快速测试,确实#;行会被忽略。


我不能停下来,;但是#(看这里,搜索“规则何时……”)。→因此可以说#是更安全...
Frank Nocke

不在此rSync手册页中:linux.die.net/man/1/rsync,在这两者中没有:ss64.com/bash/rsync.html。你能推荐你的吗?
Sopalajo de Arrierez

1
您的页面确实确实显示以#开头的行是注释:linux.die.net/man/1/rsync 表示“ ...从文件中读取规则时,空行将被忽略,以。开头的注释行也将被忽略。 lq#rq。...”(lq和rq是左引号和右引号的表示法...我不知道为什么该网页将引号称为这些缩写)。无论如何,rsync排除文件中的#都是注释。您引用的其他手册页可能只是旧的。您可以在此处查看rsync日志历史记录:git.samba.org/?p=rsync.git;a=log
rob_7cc

最好的办法是查看正在开发的平台上的手册页,以确定正在使用的rsync的版本。您可以在手册页中搜索该版本的rsync如何处理注释。
rob_7cc

10

做一个grep -v '^#' file > /tmp/filetmp然后启动您的rsync/tmp/filetmp

根据您的外壳,您可以避免使用临时文件(在Bash中有效):

rsync --files-from <(grep -v '^#' file) …

<( … )Bash称之为流程替换的语法看起来很怪异。


3
我已为您的grep添加了模式-我假设这就是您的意思...我还将添加一个bash技巧,如果您不同意,请随时还原一个或两个编辑。
derobert

您可能--files-from=-曾经rsync从标准输入中读取过列表。
库萨兰达

-1

现在为状态(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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.