免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1309 | 回复: 7
打印 上一主题 下一主题

解压多文件(上万个文件)的问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-18 11:46 |只看该作者 |倒序浏览
gunzip -c /home/oracle/ftp/*.gz | grep -i J...SMS* >/home/oracle/test.txt

我想把多个文件解压到一个文件里面,其中压缩文件大概有2万个,都很小。在解压的时候提示说文件受限制,可能是解压的文件太多导致的问题,这种问题在哪里可以设置,使一次解压的文件可以达到几万个,谢谢大家了。

论坛徽章:
0
2 [报告]
发表于 2006-07-18 20:15 |只看该作者
你最好将你的那个出错信息给出来

论坛徽章:
0
3 [报告]
发表于 2006-07-20 15:42 |只看该作者
错误信息如下:
gunzip -c /home/oracle/smc/20060621/*.gz >/home/oracle/smc/test.txt
bash: /bin/gunzip: 参数列表过长

其中 /home/oracle/smc/20060621/这个文件夹下有两万多个文件。

论坛徽章:
0
4 [报告]
发表于 2006-07-23 13:06 |只看该作者
for i in /home/oracle/smc/20060621/*.gz;do
  gunzip -dc $i >>/home/oracle/smc/test.txt
done

论坛徽章:
0
5 [报告]
发表于 2006-07-23 15:32 |只看该作者
原帖由 leeecho 于 2006-7-18 11:46 发表
gunzip -c /home/oracle/ftp/*.gz | grep -i J...SMS* >/home/oracle/test.txt

我想把多个文件解压到一个文件里面,其中压缩文件大概有2万个,都很小。在解压的时候提示说文件受限制,可能是解压的文件太多 ...


可以参考作法:

  1. find /home/oracle/ftp/*.gz | xargs gzip -dc >/home/oracle/test.txt
复制代码


还有原本楼主用 "grep" 传入的 "PATTERN" 是支援 regexp,所以你应该知道的是:

1. * 在 regexp 内被当作是前面样式可以出现 0 到多次。

2. * 在 shell 命令列是万用字元,所以要加上 ' ' 避免 shell 解释处理先展开处理变成万用字元的功能。这也是可以正确传给 grep 能够看到 * 的符号。

==

论坛徽章:
0
6 [报告]
发表于 2006-07-23 15:33 |只看该作者
原帖由 kde2000 于 2006-7-23 13:06 发表
for i in /home/oracle/smc/20060621/*.gz;do
  gunzip -dc $i >>/home/oracle/smc/test.txt
done


应该是 gzip -dc $i,或者是 gunzip -c $i 就好。

==

论坛徽章:
0
7 [报告]
发表于 2006-07-31 13:14 |只看该作者
谢谢了,按照楼上几位的方法,已经实现我要想要的东西,谢谢!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2006-07-31 14:00 |只看该作者
用xargs是最佳选择
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP