你能解决掉含100000个文件的文件夹,那你就厉害了!
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- NewUserFF
- 帖子: 413
- 注册时间: 2010-11-19 22:55
你能解决掉含100000个文件的文件夹,那你就厉害了!
-------------------------------这就是我的问题--------------------------------------
怎么才能把数万个文件压缩为一个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文件?
最后祝大家新年快乐!
怎么才能把数万个文件压缩为一个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文件?
最后祝大家新年快乐!
上次由 NewUserFF 在 2011-02-04 14:39,总共编辑 2 次。
- xhy
- 帖子: 3916
- 注册时间: 2005-12-28 1:16
- 系统: Ubuntu 12.10 X64
- 来自: 火星
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
*显然是不行的,bash展开*的时候,不能处理这么多文件的情况,
建议cd到这个目录的上一级,然后tar打包得到一个大文件,再压缩那个文件
建议cd到这个目录的上一级,然后tar打包得到一个大文件,再压缩那个文件
目前负债150多万
- NewUserFF
- 帖子: 413
- 注册时间: 2010-11-19 22:55
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
楼上的大哥,你好,我想要一个直接包含数万个文件的文件夹,而不是把一个tar压缩,因为有一个软件就是需要这样的格式,经过tar打包后就不好用了
- xhy
- 帖子: 3916
- 注册时间: 2005-12-28 1:16
- 系统: Ubuntu 12.10 X64
- 来自: 火星
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
man zip阿,可以这样做
代码: 全选
find . -name "*.[ch]" -print | zip source -@
目前负债150多万
- astolia
- 论坛版主
- 帖子: 6703
- 注册时间: 2008-09-18 13:11
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
这有什么难的,zip本身默认的就是追加方式啊。
也就是说不是一次性将所有文件都放到命令行里,而是一个一个的添加
将abcde单独放入另外一个文件夹里,再cd到那个文件夹,执行
也就是说不是一次性将所有文件都放到命令行里,而是一个一个的添加
将abcde单独放入另外一个文件夹里,再cd到那个文件夹,执行
代码: 全选
find -type f -exec zip -j a.zip {} \;
- NewUserFF
- 帖子: 413
- 注册时间: 2010-11-19 22:55
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
太感谢了!这条命令太牛逼了!充分感受到了命令的强大!xhy 写了:man zip阿,可以这样做代码: 全选
find . -name "*.[ch]" -print | zip source -@
- weatny
- 帖子: 67
- 注册时间: 2010-12-26 17:32
- 来自: 火星
- 联系:
- 速腾1994
- 论坛版主
- 帖子: 17379
- 注册时间: 2008-11-01 20:43
- 系统: Arch+gnome
- taelle
- 帖子: 19
- 注册时间: 2010-03-05 20:00
-
- 帖子: 26
- 注册时间: 2010-08-09 14:32
- SexMan
- 帖子: 141
- 注册时间: 2010-12-11 19:25
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
这么多蛋疼寂莫的人在研究一个实际使用中不可能存在的问题.
-
- 帖子: 77
- 注册时间: 2008-12-31 17:45
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
man了下zip -@参数的解释如下
就是从标准输入中读取文件名 一行一个文件-@
--names-stdin
Take the list of input files from standard input. Only one file‐
name per line.
- lainme
- 论坛版主
- 帖子: 7805
- 注册时间: 2008-09-13 19:17
- 系统: Arch Linux (x86_64)
- 联系:
Re: 你能解决掉含100000个文件的文件夹,那你就厉害了!
事物是有共通性的SexMan 写了:这么多蛋疼寂莫的人在研究一个实际使用中不可能存在的问题.
find很实用。5L给出的是find经常被使用的一个方法。找出符合某种条件的文件,然后执行某一命令
-
- 帖子: 46
- 注册时间: 2009-04-09 13:26
- 秋景雨
- 帖子: 137
- 注册时间: 2011-01-31 12:55
- 联系: