在Linux中,我有一个文件夹,比如说ABC
,在这个文件夹中我有子文件夹A
,B
和C
这些文件夹可以包含文件,例如文件夹A
可以有,A1
,A2
,A3
等。
我想将所有这些文件夹移到另一个文件夹A2Z
现在,这个新文件夹A2Z
可能已经或可能没有文件夹A
,B
和C
。我想移动不存在的文件夹,附加存在的文件夹的内容。
答案 0 :(得分:1)
使用交互式移动,确保在目的地中的类似文件/目录的情况下提示您
mv --interactive
或者,如果您不想移动目标目录中已存在的文件,那么以下内容应该可以为您执行此操作
for f in $(find /src/dir -type f); do target=/dest/dir/$(basename $f); if [[ ! -e $target ]]; then mkdir -p $(dirname $target);mv $f $target; fi; done
另一个选项是设置--no-clobber标志,如果您尝试通过输出重定向覆盖现有文件,则会引发错误
答案 1 :(得分:1)
根据我们姐妹网站this answer的SuperUser结束,您可以
rsync -av --remove-source-files src/ dest/
请注意,我已经建议将此问题迁移到那里,所以这个问题和我的答案很快就会消失!