Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 在不覆盖文件的情况下移动目录_Linux_Mv - Fatal编程技术网

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

在Linux中,我有一个文件夹,比如说
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/

注意,我建议将这个问题迁移到那里,所以这个问题和我的答案可能很快就会消失

为什么接近?如果这个解决方案已经存在,你能告诉我一个吗?这个关于超级用户的答案应该可以帮助你