I was getting ready to post this as a question, but after fiddling around with it a little longer, I found the solution. So I thought I would go ahead and post it here in case it helps someone else.
I had trouble with find -exec cmd +. I got the error:
$ find ./ -name "*JIM*" -exec cp {} $TARGET_DIR +
find: missing argument to `-exec'
It worked if I used
$ find ./ -name "*JIM*" -exec cp {} $TARGET_DIR \;
But I did't want to use that because it forks a new process for every file found.
And it worked if I used
$ find ./ -name "*JIM*" -exec ls {} +
It lists all of the files that I want to copy. But -exec cp {} $TARGET_DIR +
didn't work.
The solution I found is:
$ find ./ -name "*JIM*" -exec cp --target-directory=$TARGET_DIR {} +
Where --target-directory=
could also be replaced with -t
Hope this helps.
As mentioned in the opening post, the solution I found is:
$ find ./ -name "*JIM*" -exec cp --target-directory=$TARGET_DIR {} +
Where --target-directory=
could also be replaced with -t
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With