mv:不能用非目录覆盖目录

ana*_*ist 16 linux bash file move

有可能解决这个问题吗?

我有一种情况需要将一些文件移动到下面的1个目录.

/a/b/c/d/e/f/g
Run Code Online (Sandbox Code Playgroud)

问题是g/目录中的文件名与目录名相同

我收到以下错误:

mv: cannot overwrite directory `../297534' with non-directory
Run Code Online (Sandbox Code Playgroud)

示例: / home/user/data/doc/version/3766/297534是一个目录,里面还有一个名为297534的文件

所以我需要将此文件移到/ home/user/data/doc/version/3766中

命令 这就是我正在运行的:(在for循环中)

cd /home/user/data/doc/version/3766/297534
mv * ../
Run Code Online (Sandbox Code Playgroud)

lre*_*der 13

您不能强制mv使用具有相同名称的文件覆盖目录.在使用mv命令之前,您需要删除该文件.