免费注册 查看新帖 |

Chinaunix

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

如何使用tar把一个目录中的文件按照指定的数目打成多个包? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-08-21 09:23 |只看该作者 |倒序浏览
比如目录下有105个文件,我想每10个打成一个tar包,最后不足10个的也打成一个tar包,这样结果就是11个tar包。

请问如何实现?

论坛徽章:
0
2 [报告]
发表于 2004-08-21 10:05 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

tar命令中似乎没有这样的。。。 你的文件名有什么特色否??可以写个for循环实现

论坛徽章:
0
3 [报告]
发表于 2004-08-21 10:09 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

  1. n=1;ls|xargs -n10|while read i;do
  2.     tar cf file$n.tar $i
  3.     ((n+=1))
  4. done
复制代码

论坛徽章:
0
4 [报告]
发表于 2004-08-21 22:07 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

本来想写点什么,但是面对如此洗练的代码,觉得一切都是多余。

论坛徽章:
0
5 [报告]
发表于 2004-08-21 23:28 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

[quote]原帖由 "ivhb"]本来想写点什么,但是面对如此洗练的代码,觉得一切都是多余。[/quote 发表:

xixi,还是写点吧

论坛徽章:
0
6 [报告]
发表于 2004-08-22 09:21 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

再一次被bjgirl的代码征服~~~~~

论坛徽章:
0
7 [报告]
发表于 2004-08-22 12:19 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

bjgirl,就当我是鸡蛋里面挑骨头吧

ls这个命令,如果是root用户执行,会在当前路径下列出. 和 ..两个文件(我只敢说是AIX,和SCO下是这样的情况,别的没有实验过),所以bjgirl的代码还是需要完善一下的;至少是ls !(.|..) | xargs -n10来得好一些,否则,一定会check sum error的
PS:ls -a如果是root来执行,SCO下.和..反而不被列出,很有趣的现象哦

论坛徽章:
0
8 [报告]
发表于 2004-08-22 12:23 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

ls !(.|..)这样的写法,也是假定了当前路径下没有其他的目录,只有文件。正如bjgirl的写法的假定一样。不知道原poster文件系统里该路径下的实际情况是否确实如此

论坛徽章:
0
9 [报告]
发表于 2004-08-22 16:12 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

原帖由 "ivhb" 发表:
bjgirl,就当我是鸡蛋里面挑骨头吧

ls这个命令,如果是root用户执行,会在当前路径下列出. 和 ..两个文件(我只敢说是AIX,和SCO下是这样的情况,别的没有实验过),所以bjgirl的代码还是需要完善一下的;至少是l..........

谢谢@_@,大概思路如此,具体情况还是要具体分析的嘛
ps:我用linux,没有你说的情况

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
10 [报告]
发表于 2004-08-22 19:09 |只看该作者

如何使用tar把一个目录中的文件按照指定的数目打成多个包?

不知用 find $dir -type f -maxdepth 1 能否將目錄過濾掉呢?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP