bash - 找到: missing argument to -exec

标签 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 \;

但是命令 2 抛出一个错误说
find : missing argument to -exec

虽然命令 1 成功执行。

我可能犯了什么错误?

最佳答案

您可以使用以下命令

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

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

也可以引用usage关联

希望这可以帮助你

谢谢

关于bash - 找到: missing argument to -exec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22168943/

相关文章:

linux - 在 bash 中获取随机站点名称

json - 使用 jq 按特定键分组时修改数组元素

bash - 如果镜像有入口脚本,Docker 无法启动交互式 shell

linux - jar 的可执行 shell 脚本

linux - 如何创建一个 linux shell 别名来给 g++ 编译器编译文件的路径?

bash - 如何存储 bash 脚本连续两次运行之间的状态

regex - Bash Regex 接受 [Number],但我只想接受 Number

regex - 如何计算只有换行符的行?

c - Unix:将文件从当前目录复制到 C 中的另一个目录

json - grep Bash 的奇怪正则表达式问题