60

我想找到pdf一个文件夹中的所有文件。它包含pdf里面的文件和更多包含更多的目录。该文件夹位于我可以通过 ssh 访问的远程服务器上。我正在使用 mac 终端,但我相信我要连接的服务器是 Centos。

我需要找到所有的 pdf 文件并将它们全部复制到远程服务器上的一个目录中。我已经尝试了大约 10 种变体,但都没有运气。我的系统和远程系统似乎都没有将 -exec 识别为命令,尽管 exec 很好,所以这是一个问题。

我不确定这里的问题是什么,但命令并没有失败,它只是坐在那里并永远停止,所以我没有任何有用的错误要发布。

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

这是我尝试的最后一个,我想我现在可以忽略权限被拒绝错误,但我不确定其余的。

4

3 回答 3

143

尝试这个:

find . -name "*.pdf" -type f -exec cp {} ./pdfsfolder \;
于 2013-08-20T15:30:31.130 回答
6

Paul Dardeau 的回答是完美的,唯一的问题是,如果这些文件夹中的所有文件都不是 PDF 文件,并且无论扩展名如何,您都想获取它怎么办。好吧,只需将其更改为

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

只是总结一下!

于 2015-05-17T05:12:33.313 回答
5

像这样的东西应该工作。

ssh user@ip.addr 'find -type f -name "*.pdf" -exec cp {} ./pdfsfolder \;'

于 2013-08-20T15:32:56.790 回答