我尝试使用rsync
递归复制目录,如下所示:
rsync -a /src/* /dst
Run Code Online (Sandbox Code Playgroud)
/src
包含 sample.png (0.5MB)
/dst
包含 sample.png (1MB)
它们都有相同的时间戳。现在,当我运行rsync
命令时,当然sample.png
1MB 会被sample.png
我想避免的 0.5MB覆盖。
有没有办法告诉rsync
它应该只复制更大的文件?
我在 Ubuntu 上使用以下命令rename
(安装了sudo apt-get rename
)来重命名在正则表达式中具有给定字符的所有文件:
find . -execdir rename 's/[^A-Za-z0-9_.@+,#!?:&%~\(\)\[\]\/ \-]/?/g' * {} \;
Run Code Online (Sandbox Code Playgroud)
这工作得很好,所有其他字符都更改为?
. 现在我想包括法语字符àèìòù
等等。所以我添加À-ÿ
到我的正则表达式:
find . -execdir rename 's/[^A-Za-zÀ-ÿ0-9_.@+,#!?:&%~\(\)\[\]\/ \-]/?/g' * {} \;
Run Code Online (Sandbox Code Playgroud)
但是不知何故,这些文件没有被重命名,并且在运行此命令后它们似乎已损坏,À-ÿ
因为我无法再删除它们。
将它们包含在重命名正则表达式中的正确方法是什么?