How to find files recursively by file type and copy them to a directory?
bash, centos, linux
Solution
Try this:
find . -name "*.pdf" -type f -exec cp {} ./pdfsfolder \;
Problem
I would like to find all the `pdf` files in a folder. It contains `pdf` files inside and more directories that contain more as well. The folder is located on a remote server I have ssh access to. I am using the mac terminal but I believe the server I am connecting to is Centos. I need to find all the pdfs and copy them all to one directory on the remote server. I've tried about 10 variations with no luck. Both mine and the remote systems do not seem to recognise -exec as a command though exec is fine so thats a problem. Im not sure what the problem is here but the command does not fail it just sits there and stalls forever so I do not have any useful errors to post. ``` cp $(find -name "*.pdf" -type f; exec ./pdfsfolder {} \; | sed 1q) find: ./tcs/u25: Permission denied find: ./tcs/u68: Permission denied -bash: /var/www/html/tcs_dev/sites/default/files/pdfsfolder: is a directory -bash: exec: /var/www/html/tcs_dev/sites/default/files/pdfsfolder: cannot execute: Success cp: target `./runaways_parents_guide_2013_final.pdf' is not a directory ``` This is the last one I tried, I think I can ignore the permission denied errors for now but im not sure about the rest.