lor*_*ess 46 linux bash centos
我想找到pdf一个文件夹中的所有文件.它包含pdf内部文件和更多包含更多内容的目录.该文件夹位于我有ssh访问权限的远程服务器上.我正在使用mac终端,但我相信我连接的服务器是Centos.
我需要找到所有的pdfs并将它们全部复制到远程服务器上的一个目录中.我已经尝试了大约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
Run Code Online (Sandbox Code Playgroud)
这是我尝试的最后一个,我想我现在可以忽略权限被拒绝的错误,但我不确定其余的.
Pau*_*eau 121
试试这个:
find . -name "*.pdf" -type f -exec cp {} ./pdfsfolder \;
Run Code Online (Sandbox Code Playgroud)
小智 6
Paul Dardeau 的回答是完美的,唯一的问题是,如果这些文件夹中的所有文件都不是 PDF 文件,并且无论扩展名如何,您都想全部获取怎么办。那么只需将其更改为
find . -name "*.*" -type f -exec cp {} ./pdfsfolder \;
Run Code Online (Sandbox Code Playgroud)
简单总结一下!
像这样的事情应该有效。
ssh user@ip.addr 'find -type f -name "*.pdf" -exec cp {} ./pdfsfolder \;'