有没有办法将注释放入 rsync --files-from 文件中?

有没有办法将注释放入 rsync --files-from 文件中?

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

dir1
dir2
dir3

我希望能够在每个目录条目上方添加注释,如下所示:

# my dir1 comment
dir1

#dir2 comment
dir2

#yet another comment
dir3

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

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

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

答案1

根据man页面上rsync:

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

我刚刚进行了快速测试,确实#;线条被忽略了。

答案2

执行 agrep -v '^#' file > /tmp/filetmp然后启动 rsync/tmp/filetmp

根据您的 shell,您也许能够避免临时文件(这在 Bash 中有效):

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

<( … )Bash 称之为这种看起来很奇怪的语法流程替代

答案3

目前状态(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

相关内容