分页: 1 / 1

复制时如何排除某些文件

发表于 : 2011-11-20 22:22
novesky
才发现cp竟然没有类似与--exclude的选项,这么一来复制一个目录时如果有很多不想复制的比如是某个后缀的文件就讨厌了。有什么idea不?

Re: 复制时如何排除某些文件

发表于 : 2011-11-21 2:45
sunfish
可以配合其他命令操作
cp $(ls | grep -v "*.[后缀]") [目标目录]

Re: 复制时如何排除某些文件

发表于 : 2011-11-22 14:26
novesky
sunfish 写了:可以配合其他命令操作
cp $(ls | grep -v "*.[后缀]") [目标目录]
目录层次比较多这个肯定不行了

Re: 复制时如何排除某些文件

发表于 : 2011-11-22 14:29
eexpress
你find就是。find 后面跟上-exec mv {} ~/xxxx \;

Re: 复制时如何排除某些文件

发表于 : 2011-11-22 21:26
naturalaw
笨辦法.
要排除的肯定是少了.先把它挪走,復制完成再挪回去. :em20 :em20

Re: 复制时如何排除某些文件

发表于 : 2011-11-26 21:30
novesky
eexpress 写了:你find就是。find 后面跟上-exec mv {} ~/xxxx \;
我希望还是保持原来的目录结构

Re: 复制时如何排除某些文件

发表于 : 2011-11-27 0:41
niejieqiang
shell命令:

代码: 全选

find Documents/ \! -name "*.pl" | cpio -pd Public/
perl用File::Copy::Recusive似乎也行

嘻嘻,你试试

Re: 复制时如何排除某些文件

发表于 : 2012-05-08 2:43
lam2888
用tar不就行了吗? :em06 具体好像是: tar cf - 要备份的目录 --exclude 要排除的目录 | tar xvf - -C 要还原的目录。 --exclude 后面可以find 吗?

Re: 复制时如何排除某些文件

发表于 : 2012-05-08 3:00
lilydjwg
lam2888 写了:用tar不就行了吗? :em06 具体好像是: tar cf - 要备份的目录 --exclude 要排除的目录 | tar xvf - -C 要还原的目录。 --exclude 后面可以find 吗?
还可以用 rsync 呢。如果要用 find 的话,配合 rsync 的 --files-from 选项吧。

Re: 复制时如何排除某些文件

发表于 : 2012-05-08 19:17
aerofox
还有古老的 cpio