linux - BASH Rsync 排除不起作用。可能的语法错误?

标签 linux bash syntax terminal rsync

我正在尝试从终端运行以下代码行,并且 rysnc 正常工作,但是,正如您从相关控制台输出中看到的那样,它并没有排除我想要的文件。我的语法有什么地方做错了吗?

输入指令:

rsync -va --exclude="Frisnuk/((plugins/dynmap.*)|(orebfuscator_cache.*))" --force Frisnuk .backups/07.25.2013-13:05/MinecraftServer/Frisnuk

控制台输出:

...
Frisnuk/orebfuscator_cache/
Frisnuk/orebfuscator_cache/Frisnuk/
Frisnuk/orebfuscator_cache/Frisnuk/data/
Frisnuk/orebfuscator_cache/Frisnuk/data/region/
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-1.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-10.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-2.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-3.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-4.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-5.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-6.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-7.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-8.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.-9.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.0.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.1.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.2.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.3.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.4.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-1.5.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-1.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-10.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-2.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-3.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-4.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-5.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-6.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-7.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.-9.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.0.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.1.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.2.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.3.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.4.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-2.5.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-3.-1.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-3.-10.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-3.-2.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-3.-3.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-3.-4.mcr
Frisnuk/orebfuscator_cache/Frisnuk/data/region/r.-3.-5.mcr
...

编辑: 根据 rsync --exclude not excluding specific files 的建议,我做了相对于源的排除,但是,这也失败了:

rsync -va --exclude="((plugins/dynmap.*)|(orebfuscator_cache.*))" --force Frisnuk .backups/07.27.2013-02:30/MinecraftServer/Frisnuk

最佳答案

rsync 过滤规则不是正则表达式,试试这个:

rsync -va --exclude='Frisnuk/plugins/dynmap/**' --exclude='Frisnuk/orebfuscator_cache/**'  ...

关于linux - BASH Rsync 排除不起作用。可能的语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17894793/

相关文章:

linux - 帮助安装 cstore_fdw

bash 在第二个下划线之后提取并存储

linux - 减去小时和分钟

bash - 如何在 Bash 中向右或向左移动 'x' 个字符?

Cygwin 中的 bash shell

syntax - 如何在本地更改 Racket 中的阅读规则?

c++ - 这个使用 boost::mismatch 的例子是什么意思?

MySQL - 语法错误

c++ - Linux API 列出正在运行的进程?

java - 将输入发送到标准输入并在 Java 中获得完整输出 - Festival TTS