免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8325 | 回复: 7
打印 上一主题 下一主题

[Web] 如果通过find+cp实现拷贝指定后缀的文件(保持目录结构) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-14 17:13 |只看该作者 |倒序浏览
如题.
我用下面目录结构没保存,另外只能拷一级目录,因为网站目录非常多,要支持无穷级的子目录
find /test -name "*.jpg" -exec cp -R {} /test/cs \;

论坛徽章:
0
2 [报告]
发表于 2008-04-14 20:50 |只看该作者
我还没得到方案,先把你为什么得到这个结果说一下:
find /test -name "*.jpg" -exec cp -R {} /test/cs \;

find /test -name "*.jpg" //此部分得到包含.jpg的文件或目录,(可以加-type f)
                                       //比如/test/dir/subdir/file1.jpg
-exec cp -R {} /test/cs \;// {} 表示所有find得到的信息。
                                        //ex: cp -R /test/dir/subdir/file1.jpg /test/cs
                                        //这样就只把文件拷贝到了/test/cs,也就只能拷一级目录,-R参数是对目录起作用的。

论坛徽章:
0
3 [报告]
发表于 2008-04-15 09:52 |只看该作者
是啊,我后来尝试先全部删除 ,在删除指定格式,然后剩下的就是我要的了.

另外我今天想了个用压缩指定格式,不过还是遭遇到目录问题

论坛徽章:
0
4 [报告]
发表于 2008-04-15 11:05 |只看该作者
原帖由 miumiusun 于 2008-4-15 09:52 发表
是啊,我后来尝试先全部删除 ,在删除指定格式,然后剩下的就是我要的了.

另外我今天想了个用压缩指定格式,不过还是遭遇到目录问题



删除我倒没想到。压缩我也尝试过(昨天tar命令参数有点问题)。
删除应该可以的,不过如果原来的想保留的话,这个方法有点费空间。但也算个方案。
find /home/frank/workspace/srcdir -type f ! -name "*.jpg" -exec rm {} \;

压缩,但是目录会全部包括。再研究下tar命令?
find /home/frank/workspace/srcdir -type f -name "*.jpg" -print | xargs tar -czf /home/frank/workspace/dstdir/tarfile.tar

我昨天碰到的主要问题是对 find 结果, 也就是  {} 的二次处理, 我不是很清楚。 比如用 dirname, basename对路径做些修改。

论坛徽章:
0
5 [报告]
发表于 2008-04-15 11:27 |只看该作者
还是你最后的办法牛

find /www/test -name "*.jpg" | xargs tar -zcvf a.tar.gz


这样效率最高

论坛徽章:
0
6 [报告]
发表于 2008-04-15 14:23 |只看该作者
晕啊遭遇到:tar: Removing leading `/' from member names

论坛徽章:
0
7 [报告]
发表于 2008-04-15 15:20 |只看该作者
绝杀了
tar zcvf aa.tar.gz /test/  --exclude "*.rar"

论坛徽章:
0
8 [报告]
发表于 2008-04-19 10:52 |只看该作者
原帖由 miumiusun 于 2008-4-15 14:23 发表
晕啊遭遇到:tar: Removing leading `/' from member names



这个提示不是出错。 当用tar压缩一个绝对路径时,tar就会把最前面的/去掉。这样就是相对路径了。
比如把/home/test 压缩就成了home/test,这样解压时就在当前目录下生成home/test,如果有前面的/的话就会解压到/home/test目录下了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP