lorless lorless - 3 months ago 12
Linux Question

How to find files recursively by file type and copy them to a directory while in ssh?

I would like to find all the

pdf
files in a folder. It contains
pdf
files inside and more directories that contains 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.

Answer

Try this:

find . -name "*.pdf" -type f -exec cp {} ./pdfsfolder \;
Comments