LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1162|回复: 13

这样的cp如何实现?

[复制链接]
发表于 2006-4-30 22:34:17 | 显示全部楼层 |阅读模式
如何copy某个目录下(包括子目录)所有扩展名为.bak的文件到另一目录下, 且保留原有目录间的结构呢?
发表于 2006-5-1 04:26:16 | 显示全部楼层
you can use rsync which have some pattern matching ability. An example could be
  1. rsync -auvz -f "+ */" -f "+ *.bak" -f "- *" source_dir/ dest_dir/
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-5-1 09:01:30 | 显示全部楼层
  1. [0 No.2005 huan /tmp/work ]$ mkdir dir1
  2. [0 No.2006 huan /tmp/work ]$ touch dir1/kk dir1/kk.bak
  3. [0 No.2007 huan /tmp/work ]$ mkdir dir1/dir2
  4. [0 No.2008 huan /tmp/work ]$ touch dir1/dir2/kk dir1/dir2/kk.bak
  5. [0 No.2009 huan /tmp/work ]$ [b]find . -depth -name '*.bak' -print0 | cpio --null -pvd /tmp/bakup_tree[/b]
  6. /tmp/bakup_tree/./dir1/dir2/kk.bak
  7. /tmp/bakup_tree/./dir1/kk.bak
  8. 0 blocks
  9. [0 No.2010 huan /tmp/work ]$ ls -R /tmp/bakup_tree
  10. /tmp/bakup_tree:
  11. dir1/
  12. /tmp/bakup_tree/dir1:
  13. dir2/  kk.bak
  14. /tmp/bakup_tree/dir1/dir2:
  15. kk.bak
  16. [0 No.2011 huan /tmp/work ]$
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-5-1 18:20:34 | 显示全部楼层
cpio 很方便。tar 也可以。:)。
回复 支持 反对

使用道具 举报

发表于 2006-5-1 23:03:37 | 显示全部楼层
Post by yongjian
you can use rsync which have some pattern matching ability. An example could be
  1. rsync -auvz -f "+ */" -f "+ *.bak" -f "- *" source_dir/ dest_dir/
复制代码
不解这位斑斑为什么老是喜欢用英语, 单单一句话至少连错两个地方...

其他的帖子中也经常出现类似谓语单复数, 时态, 虚拟语气等一些错误
回复 支持 反对

使用道具 举报

发表于 2006-5-2 00:05:57 | 显示全部楼层
人家想用什么就用什么咯。。。It is his right..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-5-2 01:16:17 | 显示全部楼层
多谢哈!
回复 支持 反对

使用道具 举报

发表于 2006-5-2 03:43:31 | 显示全部楼层
呵呵, 俺只是不解而已, 并非干预
回复 支持 反对

使用道具 举报

发表于 2006-5-2 07:13:23 | 显示全部楼层
Post by TechLive
不解这位斑斑为什么老是喜欢用英语, 单单一句话至少连错两个地方...

其他的帖子中也经常出现类似谓语单复数, 时态, 虚拟语气等一些错误

because my firefox is broken (its a Xserver error causing all gdk apps crash, I'v fired a bug to ubuntu), so I have to stick with opera for now but opera doesn't allow me to use scim. (if you can help, I'd appreciate). I recently load kde on my laptop and able to use konquror to type Chinese. I know its a bit of hassle, but come on, if you know what Im talking about, why care too much...
回复 支持 反对

使用道具 举报

发表于 2006-5-2 07:16:00 | 显示全部楼层
Post by huan

  1. [0 No.2005 huan /tmp/work ]$ mkdir dir1
  2. [0 No.2006 huan /tmp/work ]$ touch dir1/kk dir1/kk.bak
  3. [0 No.2007 huan /tmp/work ]$ mkdir dir1/dir2
  4. [0 No.2008 huan /tmp/work ]$ touch dir1/dir2/kk dir1/dir2/kk.bak

  5. [0 No.2009 huan /tmp/work ]$ [b]find . -depth -name '*.bak' -print0 | cpio --null -pvd /tmp/bakup_tree[/b]
  6. /tmp/bakup_tree/./dir1/dir2/kk.bak
  7. /tmp/bakup_tree/./dir1/kk.bak
  8. 0 blocks

  9. [0 No.2010 huan /tmp/work ]$ ls -R /tmp/bakup_tree
  10. /tmp/bakup_tree:
  11. dir1/

  12. /tmp/bakup_tree/dir1:
  13. dir2/  kk.bak

  14. /tmp/bakup_tree/dir1/dir2:
  15. kk.bak
  16. [0 No.2011 huan /tmp/work ]$
复制代码

Cool, good to learn!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表