我有以下目录:
- 1
- 12
- 123
- 1234567
- 1234566
- 1234555
- 121
我想 rsync 名称恰好为 7 位数字的目录。(即上面列表中的 1234567、1234566 和 1234555)。
这对我有用:
rsync -avu \
--include="[0-9][0-9][0-9][0-9][0-9][0-9][0-9]" \
--exclude='*' \
remote_host:/export/Data/liberty/TestRecords/2025/* \
/export/Data/liberty/TestRecords/2025/
但我有两个限制性事实:
- 如果我的名字变得更长怎么办?那么输入像N次“[0-9]”这样长的正则表达式会很困难。我需要一个类似于使用 grep 和正则表达式的解决方案,其中N是数字的数量;这在我需要时可以非常方便地进行更改。
[0-9]\{N\}
find
我的源是一个远程服务器,因此执行 SSH 或远程机器上的任何命令来返回结果会有些困难且成本更高。
Regex [0-9]{7}
OR[0-9]\{7\}
不适用于--include
。