如何按文件类型递归查找文件并将它们复制到目录?

     2023-03-10     157

关键词:

【中文标题】如何按文件类型递归查找文件并将它们复制到目录?【英文标题】:How to find files recursively by file type and copy them to a directory? 【发布时间】:2013-08-22 16:44:10 【问题描述】:

我想在一个文件夹中找到所有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

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

【问题讨论】:

【参考方案1】:

试试这个:

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

【讨论】:

谢谢,它在那里坐了一段时间,但我认为这可能与权限错误有关。 @user3728501 它终止了 exec 表达式 我会默认使用-iname 而不是-name,因为文件扩展名可能有大写字母。【参考方案2】:

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

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

总结一下!

【讨论】:

【参考方案3】:

这样的事情应该可以工作。

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

【讨论】:

@user3728501 ***.com/questions/20913198/…

按文本字符长度对目录中的文件进行排序并复制到其他目录[关闭]

】按文本字符长度对目录中的文件进行排序并复制到其他目录[关闭]【英文标题】:Sortfilesinadirectorybytheirtextcharacterlengthandcopytootherdirectory[closed]【发布时间】:2021-12-3023:38:04【问题描述】:我试图在目录中按字符长度查找最小的... 查看详情

如何获取不存在的文件并将它们存储到变量中? [复制]

】如何获取不存在的文件并将它们存储到变量中?[复制]【英文标题】:HowdoIgrabfilesthatdon\'texistandstorethemintoavariable?[duplicate]【发布时间】:2016-01-1514:52:15【问题描述】:我希望当前目录中存在6个文件:prefix_alpha.txtprefix_beta.txtpref... 查看详情

复制文件并将它们包含在 CPack 存档中

...file(...)和add_custom_command()都可以工作*),但我还没有找到如何制作从源复制到构建目录的文件或目录出 查看详情

java如何递归遍历多重目录下的指定格式文件复制到目标目录并改格式

...不能放到ABC的目录下,只是建立个同名的ABC文件并无后缀如何将2个功能统一在一块呢?贴上我的代码:publicclassCopyIO/** *@paramargs *@throwsIOException */ publicstaticvoidmain(String[]args)throwsIO 查看详情

用于字符串的 grep 文件并将目录复制到另一个目录

】用于字符串的grep文件并将目录复制到另一个目录【英文标题】:grepfileforstringandcopydirectorytoanotherdirectory【发布时间】:2016-07-0617:23:40【问题描述】:我有大量目录,每个目录中只有一个文件--index.html--。我想使用grep在文件中... 查看详情

如何递归地将目录复制到另一个目录并仅替换未更改的文件?

】如何递归地将目录复制到另一个目录并仅替换未更改的文件?【英文标题】:HowcanIrecursivelycopyadirectoryintoanotherandreplaceonlythefilesthathavenotchanged?【发布时间】:2010-10-1017:12:48【问题描述】:我希望在Fedora中制作一个特定的副本。... 查看详情

如何在工作时暂停多文件复制?

】如何在工作时暂停多文件复制?【英文标题】:HowcanIpausemulti-filecopywhenoneisworking?【发布时间】:2021-06-0608:20:27【问题描述】:我开始了一个有趣的小项目,我非常喜欢它,我开始扩展它。我需要一个简单的文件资源管理器(... 查看详情

使用python:查找文件并复制到另一个目录

】使用python:查找文件并复制到另一个目录【英文标题】:withpython:Findfilesandcopytoanotherdirectory【发布时间】:2021-12-2409:31:28【问题描述】:目录树如下所示:https://i.stack.imgur.com/nS9Vx.png我的目标是输入会员ID,程序应该分析所有... 查看详情

如何查看 hdfs 目录并将到达 hdfs 的最新文件复制到本地?

】如何查看hdfs目录并将到达hdfs的最新文件复制到本地?【英文标题】:Howtowatchanhdfsdirectoryandcopythelatestfilethatarrivesinhdfstolocal?【发布时间】:2019-08-2606:10:10【问题描述】:我想在bash/python中编写一个脚本,以便脚本复制到达hdfs目... 查看详情

find查找文件或目录

可以按文件名、文件的类型、用户等条件来递归查找文件,常用选项如下find [路径] [匹配表达式]-namefilename  按文件名-userusername   按属主-groupgrpname  按属组-permmode      按文件... 查看详情

使用scp递归复制目录时如何过滤文件?

】使用scp递归复制目录时如何过滤文件?【英文标题】:Howtofilterfileswhenusingscptocopydirrecursively?【发布时间】:2010-11-1617:46:24【问题描述】:我需要将所有.class文件从服务器复制到本地,并保留所有目录。例如server:/usr/some/unknown/n... 查看详情

如何复制或删除bash中的特定行并将它们创建到新文件中[重复]

】如何复制或删除bash中的特定行并将它们创建到新文件中[重复]【英文标题】:Howtocopyordeletespecificlinesinbashandcreatethemintoanewfile[duplicate]【发布时间】:2016-03-0704:03:31【问题描述】:我有一个可能包含重复数据的自动生成文件,这... 查看详情

从应用程序中选择视频并将它们复制到文档目录中

...在使用UIImagePickerController使用从iPhone的图片库中选择视频文件imagePicker.mediaTypes=[NSArrayarrayWithObject:(NSStr 查看详情

inotify 递归地怎么做呢?

...述】:我需要在具有多个子文件夹的文件夹上打印事件。如何递归地做到这一点?请打印C++代码。我被卡住了!!每次弹出evet时,我都需要打开子文件夹,获取文件并将其复制到另一个目录中。我不想每2秒列出所有子文件夹并... 查看详情

如何在目录树中递归查找和替换所有出现的字符串? [复制]

】如何在目录树中递归查找和替换所有出现的字符串?[复制]【英文标题】:Howtofindandreplacealloccurrencesofastringrecursivelyinadirectorytree?[duplicate]【发布时间】:2010-12-0719:06:15【问题描述】:仅使用grep和sed,如何替换所有出现的:a.exam... 查看详情

如何在字符串中查找多个子字符串并将它们添加到列表中? [复制]

】如何在字符串中查找多个子字符串并将它们添加到列表中?[复制]【英文标题】:Howtofindmultiplesubstringsinastringandaddthemtoalist?[duplicate]【发布时间】:2020-09-2321:30:02【问题描述】:我正在尝试添加列表中出现的每个子字符串,因... 查看详情

xcopy 递归地复制目录和子目录,并仅按扩展名过滤文件名

】xcopy递归地复制目录和子目录,并仅按扩展名过滤文件名【英文标题】:xcopydirectoriesandsubdirectoriesrecursivelyandfilteronlyfilenamesbyextension【发布时间】:2011-02-2611:55:27【问题描述】:这是我现在拥有的:xcopy"c:\\projects\\SampleProject""c:\... 查看详情

TFileListBox 组件查找不再存在的文件

】TFileListBox组件查找不再存在的文件【英文标题】:TFileListBoxComponentFindingFilesWhichNoLongerExist【发布时间】:2011-10-0809:44:40【问题描述】:我在Windows7上使用Delphi7,并且有一个应用程序使用TFileListBox组件遍历目录中的文件并将它们... 查看详情