我正准备将其作为一个问题发布,但在摆弄了一段时间之后,我找到了解决方案。所以我想我会继续把它贴在这里,以防它帮助别人。
我在 find -exec cmd + 时遇到了麻烦。我得到了错误:
$ find ./ -name "*JIM*" -exec cp {} $TARGET_DIR +
find: missing argument to `-exec'
如果我使用它会起作用
$ find ./ -name "*JIM*" -exec cp {} $TARGET_DIR \;
但我不想使用它,因为它为找到的每个文件创建一个新进程。
如果我使用它会起作用
$ find ./ -name "*JIM*" -exec ls {} +
它列出了我要复制的所有文件。但是-exec cp {} $TARGET_DIR +
没有用。
我找到的解决方案是:
$ find ./ -name "*JIM*" -exec cp --target-directory=$TARGET_DIR {} +
哪里--target-directory=
也可以换成-t
希望这可以帮助。