为什么以下内容不将文件复制到目标文件夹?
# find /home/shantanu/processed/ -name '*2011*.xml' -exec cp /home/shantanu/tosend {} ; cp: omitting directory `/home/shantanu/tosend' cp: omitting directory `/home/shantanu/tosend' cp: omitting directory `/home/shantanu/tosend'
windowsbatch file从子文件夹复制到一个文件夹
使用cp时文件大小发生变化
如何调用shell的“文件复制对话框”来报告在Win32中复制的进度?
复制一个没有内容的文件名称的目录结构
在windows剪贴板复制缓冲区中包含格式化信息以粘贴到Excel中
如果你的意图是将找到的文件复制到/ home / shantanu / tosend中,你可以将cp的参数顺序颠倒过来:
find /home/shantanu/processed/ -name '*2011*.xml' -exec cp {} /home/shantanu/tosend ;
我遇到了这样的问题
实际上,有两种方法可以在copy命令中处理find命令的输出
如果find命令的输出不包含任何空格,即如果文件名不包含空格,则可以使用下面提到的命令:
语法: find <Path> <Conditions> | xargs cp -t <copy file path> find <Path> <Conditions> | xargs cp -t <copy file path>
例如: find -mtime -1 -type f | xargs cp -t inner/ find -mtime -1 -type f | xargs cp -t inner/
但大部分时间我们的生产数据文件可能包含空间。 所以下面提到的大部分命令都比较安全:
语法: find <path> <condition> -exec cp '{}' <copy path> ;
示例find -mtime -1 -type f -exec cp '{}' inner/ ;
在第二个例子中,最后一部分即分号也被认为是find命令的一部分,在按下回车按钮之前应该将其转义。 否则,你会得到这样的错误
find: missing argument to `-exec'
在你的情况下, 复制命令语法是错误的 ,以便将查找文件复制到/home/shantanu/tosend 。 以下命令将工作:
find /home/shantanu/processed/ -name '*2011*.xml' -exec cp {} /home/shantanu/tosend ;
你需要使用cp -t /home/shantanu/tosend来告诉它参数是目标目录而不是源。 然后,您可以将其更改为-exec ... +以便让cp一次复制尽可能多的文件。
这个错误的原因是你正在试图复制一个需要-r选项的文件夹也cp谢谢
总结以上是内存溢出为你收集整理的查找和复制文件全部内容,希望文章能够帮你解决查找和复制文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)