find:缺少-exec的参数

时间:2014-03-04 10:13:59

标签: bash shell unix ubuntu command-line

我试图执行下面的移动命令:

如果用户想要覆盖同名文件

find /pqr/xyz -maxdepth 1 -type f -exec mv -f {} /abc/def \;

如果用户不想覆盖同名文件

find /pqr/xyz -maxdepth 1 -type f -exec mv -n {} /abc/def \;

但是Command 2抛出错误说

find : missing argument to -exec

命令1成功执行。

我可能犯过什么错误?

1 个答案:

答案 0 :(得分:0)

您可以使用以下命令

find /pqr/xyz -maxdepth 1 -type f -exec mv -f '{}' /abc/def/ \;

围绕{}单引号来处理文件名中的空格,它应该是/ abc / def /来移动/ abc / def /目录下的文件,否则它会将文件名重命名为'def'

您还可以参考usage链接

希望这可以帮到你

由于