分页: 1 / 2

你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-04 14:34
NewUserFF
-------------------------------这就是我的问题--------------------------------------
怎么才能把数万个文件压缩为一个zip文件?

------------------------------问题详述-----------------------------------
小弟目前有5个文件夹:a,b,c,d,e,其中各含wav文件数万个,小弟现在想把这几个文件夹里的所有文件都压缩为一个zip文件:new.zip,而且这个new.zip压缩包内不含任何文件夹,也就是说,这个压缩包内直接包含这数万个文件wav文件,没有任何文件夹,明白了吧?
------------------------------我的失败的解决方案-----------------------------
小弟开始解决这个问题了:首先进入含a,b,c,d,e的文件夹,直接执行:
zip -j new.zip *
发生错误:Nothing to do !

看来出问题了。也许zip解决不了这么多文件吧,那我换个办法:
我先建立一个new文件夹,然后把所有的文件都移入这个new文件夹中,然后再压缩一下这个new文件夹试试,于是我就开始了:
mkdir new(成功!)然后cp a/* new
报错:参数过长,看来cp也挂了

我决定转到gnome里去解决!
于是我进入图形界面,打开文件夹,打开a文件夹,然后无响应......看来gnome没遇到这么强大的对手。。。。。。。。

-------------------------------重申我的问题--------------------------------------
怎么才能把数万个文件压缩为一个zip文件?

最后祝大家新年快乐!

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-04 14:37
xhy
*显然是不行的,bash展开*的时候,不能处理这么多文件的情况,
建议cd到这个目录的上一级,然后tar打包得到一个大文件,再压缩那个文件

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-04 14:43
NewUserFF
楼上的大哥,你好,我想要一个直接包含数万个文件的文件夹,而不是把一个tar压缩,因为有一个软件就是需要这样的格式,经过tar打包后就不好用了

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-04 15:13
xhy
man zip阿,可以这样做

代码: 全选

find . -name "*.[ch]" -print | zip source -@

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-04 15:28
astolia
这有什么难的,zip本身默认的就是追加方式啊。
也就是说不是一次性将所有文件都放到命令行里,而是一个一个的添加
将abcde单独放入另外一个文件夹里,再cd到那个文件夹,执行

代码: 全选

find -type f -exec zip -j a.zip {} \;

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-04 17:22
NewUserFF
xhy 写了:man zip阿,可以这样做

代码: 全选

find . -name "*.[ch]" -print | zip source -@
太感谢了!这条命令太牛逼了!充分感受到了命令的强大!

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-04 22:15
weatny
不知所云 :em06
看来还是要好好学习一番了

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-07 20:47
速腾1994
不知所云 :em06

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-12 3:27
taelle
学习了 :em11

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-12 9:39
mervyn807
不知所云

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-12 10:14
SexMan
这么多蛋疼寂莫的人在研究一个实际使用中不可能存在的问题.  

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-12 12:00
yjqg6666
man了下zip -@参数的解释如下
-@
--names-stdin
Take the list of input files from standard input. Only one file‐
name per line.
就是从标准输入中读取文件名 一行一个文件

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-12 12:33
lainme
SexMan 写了:这么多蛋疼寂莫的人在研究一个实际使用中不可能存在的问题.  
事物是有共通性的

find很实用。5L给出的是find经常被使用的一个方法。找出符合某种条件的文件,然后执行某一命令

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-02-14 13:43
柳青藤
mark

Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!

发表于 : 2011-03-19 15:56
秋景雨
太强了,正是我需要的。 :em11