复制某一个文件夹下的除了某一个文件夹剩下全部文件

sh/bash/dash/ksh/zsh等Shell脚本
头像
13378333
帖子: 322
注册时间: 2012-05-31 12:00

复制某一个文件夹下的除了某一个文件夹剩下全部文件

#1

帖子 13378333 » 2012-09-03 11:33

复制某一个文件夹下的除了某一个文件夹剩下全部文件
文件夹A。。底下包含100个文件,我想把整个目录A复制到别处,但是不想要里面的第100号文件,该怎么做?
头像
yanyeyy
帖子: 26
注册时间: 2008-10-06 23:04

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#2

帖子 yanyeyy » 2012-09-03 11:58

find A ! -name 100 -exec cp {} somedir/{} \;
我是用这种方法,坐等大神
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#3

帖子 枫叶饭团 » 2012-09-03 12:05

进来学习的,弱弱的问句,何谓第100号文件,排序方式什么
onlylove
论坛版主
帖子: 5371
注册时间: 2007-01-14 16:23

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#4

帖子 onlylove » 2012-09-03 12:08

给个笨办法,如果文件不大可以先一起复制过去,然后再单独删除……
#include <stdio.h>
void main()
{
double world;
unsigned letter;
short stay;
long memories;
printf("I miss you.\n");
}
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#5

帖子 lilydjwg » 2012-09-03 12:10

第100号文件是哪个文件/怎么判别?
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#6

帖子 lilydjwg » 2012-09-03 12:12

yanyeyy 写了:find A ! -name 100 -exec cp {} somedir/{} \;
我是用这种方法,坐等大神
你这样会丢失目录结构(也会对目录文件失败)。
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#7

帖子 枫叶饭团 » 2012-09-03 12:13

123321
头像
13378333
帖子: 322
注册时间: 2012-05-31 12:00

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#8

帖子 13378333 » 2012-09-03 12:21

lilydjwg 写了:第100号文件是哪个文件/怎么判别?
随意啊,名字随意起,,,我 是觉个例子。。。你可以你理解为该目录中有100个文件,抛除某一个文件外剩下全部都要复制,,,最好还要保持目录结构。。。
头像
tangboyun
帖子: 701
注册时间: 2009-07-25 1:57
联系:

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#9

帖子 tangboyun » 2012-09-03 12:34

复制整个目录,然后删掉那个就是了,只要不是很大。
https://github.com/tangboyun
http://tangboyun.is-programmer.com/
提问的智慧————Eric Steven Raymond
回答的智慧————Andrew Clarke
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
急急急标题什么的,最讨厌了!
急急复急急,急急何其多,我生待急急,万事急急急。
头像
yanyeyy
帖子: 26
注册时间: 2008-10-06 23:04

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#10

帖子 yanyeyy » 2012-09-03 13:11

tar cvf - --exclude=file100 A|tar xvf - -C somedir
试试这个
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#11

帖子 lilydjwg » 2012-09-03 13:25

13378333 写了:
lilydjwg 写了:第100号文件是哪个文件/怎么判别?
随意啊,名字随意起,,,我 是觉个例子。。。你可以你理解为该目录中有100个文件,抛除某一个文件外剩下全部都要复制,,,最好还要保持目录结构。。。
我就怕 你指的是按字母序排100的、文件大小第100大的或者修改时间从前往后第100的这种。

指定文件名的话,tar 就可以啦。rsync 也行。
头像
13378333
帖子: 322
注册时间: 2012-05-31 12:00

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#12

帖子 13378333 » 2012-09-03 13:58

yanyeyy 写了:tar cvf - --exclude=file100 A|tar xvf - -C somedir
试试这个
root@wangyang:~# tar cvf- --exclude=100 A/ | tar xvf- -C B/
tar: -C:无法 open: 没有那个文件或目录
tar: Error is not recoverable: exiting now
不行啊 。。。。。。。。。。。。。。
头像
13378333
帖子: 322
注册时间: 2012-05-31 12:00

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#13

帖子 13378333 » 2012-09-03 13:59

yanyeyy 写了:find A ! -name 100 -exec cp {} somedir/{} \;
我是用这种方法,坐等大神
这个方法不错
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#14

帖子 lilydjwg » 2012-09-03 15:40

13378333 写了:
yanyeyy 写了:tar cvf - --exclude=file100 A|tar xvf - -C somedir
试试这个
root@wangyang:~# tar cvf- --exclude=100 A/ | tar xvf- -C B/
tar: -C:无法 open: 没有那个文件或目录
tar: Error is not recoverable: exiting now
不行啊 。。。。。。。。。。。。。。
你少打了个空格:

代码: 全选

tar cvf - --exclude=file100 A|tar xf - -C somedir
或者这样也行:

代码: 全选

tar cvf - --exclude=file100 A|tar x -C somedir
头像
13378333
帖子: 322
注册时间: 2012-05-31 12:00

Re: 复制某一个文件夹下的除了某一个文件夹剩下全部文件

#15

帖子 13378333 » 2012-09-04 10:25

lilydjwg 写了:
13378333 写了:
yanyeyy 写了:tar cvf - --exclude=file100 A|tar xvf - -C somedir
试试这个
root@wangyang:~# tar cvf- --exclude=100 A/ | tar xvf- -C B/
tar: -C:无法 open: 没有那个文件或目录
tar: Error is not recoverable: exiting now
不行啊 。。。。。。。。。。。。。。
你少打了个空格:

代码: 全选

tar cvf - --exclude=file100 A|tar xf - -C somedir
或者这样也行:

代码: 全选

tar cvf - --exclude=file100 A|tar x -C somedir
感谢大师指点啊,又学习一招 :em09
回复