免费注册 查看新帖 |

Chinaunix

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

linux下选择性压缩文件 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-09-16 11:03 |只看该作者 |倒序浏览
我想在一个目录下只选择压缩.h,.c,.doc等文件,其它的不需要,使用什么命令?

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
2 [报告]
发表于 2011-09-16 11:16 |只看该作者
可以是可以,但是每个命令对所带参数的多少有限制。

这里就是你这个目录会有多少个文件了?

ps:你要将每个文件压缩为一个压缩文件

1.h -> 1.h.gzip

还是
1.h 1.c 1.doc -> 1.tar.gzip
了?

论坛徽章:
0
3 [报告]
发表于 2011-09-16 11:25 |只看该作者
当然有很多,几千个文件,而且类型不同,我想一次性只选择.h,.c,.doc文件压缩,其它类型的不需要,所以不知道用哪个,如果整个压缩也太大

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
4 [报告]
发表于 2011-09-16 12:45 |只看该作者
monitor:/home/monitor>find / -name "*.sh" -print -o -name "*.conf" -print 2>/dev/null|wc -l
676
monitor:/home/monitor>
monitor:/home/monitor>tar zcvf ttt1.tar.gz $(find / -name "*.sh" -print -o -name "*.conf" -print 2>/dev/null|sed -n '1x;1!H;${x;s/\n/ /g;p}')

monitor:/home/monitor>ls -l ttt1.tar.gz
-rw-rw-r-- 1 monitor monitor 342400 Sep 16 12:52 ttt1.tar.gz

ps:这个,是我测试的。
照葫芦画瓢吧

论坛徽章:
0
5 [报告]
发表于 2011-09-16 13:25 |只看该作者
tar zcvf h_c_doc.tgz *.h *.c *.doc

这个难道不可以么?

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
6 [报告]
发表于 2011-09-16 13:35 |只看该作者
要是有子目录,咋办

论坛徽章:
0
7 [报告]
发表于 2011-09-16 13:52 |只看该作者
回复 6# jerryjzm


    大意了, 没考虑到子目录.

不过你那个命令可以简化一下  tar zcvf ttt1.tar.gz $(find . -name "*.sh" -o -name "*.conf")

后面那sed不需要的

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
8 [报告]
发表于 2011-09-16 14:03 |只看该作者
看来楼上是想,命令尽可能短,
我的本意是将一些异常考虑进去。

论坛徽章:
0
9 [报告]
发表于 2011-09-16 14:20 |只看该作者
回复 8# jerryjzm


   

我简化过的命令对异常也没有什么问题吧, 例如find没有任何结果, 命令并不会受影响, 也不会有error抛到output

有什么异常我没想到的, 请指点

论坛徽章:
1
天秤座
日期:2013-10-23 13:20:42
10 [报告]
发表于 2011-09-16 14:25 |只看该作者
至少 2>/dev/null 就是个问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP