I am trying to use the -exec option with the find command to find specific files in my massive panoramas directory and move them to a specified location. The command I am using below passes an error argument not found for -exec. Can somebody point out my error in parsing the command? Or would I have to create a pipe of some sorts instead?
$ find -name ~/path_to_directory_of_photos/specific_photo_names* -exec mv {} ~/path_to_new_directory/
You need to terminate your exec'ed command with an escaped semicolon (\;
).
You should quote the name pattern otherwise the shell will expand any wildcards in it, before running find
. You also need to have a semicolon (backslashed to avoid the shell interpreting it as a command separator) to indicate the end of the mv
command.
The correct command would be:
find ~/path_to_directory_of_photos -name "specific_photo_names*" -exec mv {} ~/path_to_new_directory \;
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