Linux 在不覆盖文件的情况下移动目录
在Linux中,我有一个文件夹,比如说Linux 在不覆盖文件的情况下移动目录,linux,mv,Linux,Mv,在Linux中,我有一个文件夹,比如说ABC,在这个文件夹中我有子文件夹a,B和C 这些文件夹可以有文件,例如,文件夹A可以有、A1、A2、A3等 我想将所有这些文件夹移动到另一个文件夹,例如A2Z 现在,这个新文件夹A2Z可能有也可能没有文件夹A、B和C。我想移动不存在的文件夹,并附加确实存在的文件夹的内容。使用交互式移动,确保在目标中存在类似的文件/目录时提示您 mv --interactive 或者,如果您不想移动目标目录中已经存在的文件,那么下面的操作应该可以帮您完成 for f in
ABC
,在这个文件夹中我有子文件夹a
,B
和C
这些文件夹可以有文件,例如,文件夹A
可以有、A1
、A2
、A3
等
我想将所有这些文件夹移动到另一个文件夹,例如A2Z
现在,这个新文件夹
A2Z
可能有也可能没有文件夹A
、B
和C
。我想移动不存在的文件夹,并附加确实存在的文件夹的内容。使用交互式移动,确保在目标中存在类似的文件/目录时提示您
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标志,如果您试图通过输出重定向覆盖现有文件,则会引发错误,正如您可以在我们的姐妹站点上所做的那样
rsync -av --remove-source-files src/ dest/
注意,我建议将这个问题迁移到那里,所以这个问题和我的答案可能很快就会消失 为什么接近?如果这个解决方案已经存在,你能告诉我一个吗?这个关于超级用户的答案应该可以帮助你