bash – 如何在使用rsync移动文件夹时删除空源目录?

可以使用以下选项将rsync同步到移动文件夹中,与传统的mv非常相似和优越:
rsync -axvvES --remove-source-files source_directory /destination/

然而,我似乎无法做到的一件事是删除原始目录. –remove-source-files标志就是这样,删除源文件,但不删除源目录.我希望有一个–remove-source-directories标志,但是没有.

我怎么处理这个?我想我可以在移动后发出一个rm -fr,但是我更愿意将这个过程全部保持在一个过程中,而不是引入潜在的错误.

我没有找到一个可以同时执行此操作的命令,但由于rsync仍然比rm -rf执行得更好(特别是如果你有非常多的目录),这里有两个执行“移动”的rsync命令:
rsync -av --ignore-existing --remove-source-files source/ destination/ && \
rsync -av --delete `mktemp -d`/ source/ && rmdir source/

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...