当前位置: 技术问答>linux和unix
求助 shell中split命令如何实现文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始
来源: 互联网 发布时间:2017-01-01
本文导语: 求助 shell中split命令对文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始。 需求是这样的。 要给其他部门下发文件, 下发文件采用gzip方式,文件大于20m 分包,分包后的文件文件 ...
求助 shell中split命令对文件分割 并统计分割文件个数。分割完之后,命名方式从 文件名.001 开始。
需求是这样的。 要给其他部门下发文件, 下发文件采用gzip方式,文件大于20m 分包,分包后的文件文件
命名的方式 为 00x00x。前面3位表示 是分了多少个包,后面的三位表示 是第几个包 。
请问 我应该 如何 实现。
初学 shell 。 大家 多多指教 !
我现在 能把 文件 分割 ,但是 后缀 是从 000 开始的,不是001.而且 我也不知道 如何统计 分包的个数。
需求是这样的。 要给其他部门下发文件, 下发文件采用gzip方式,文件大于20m 分包,分包后的文件文件
命名的方式 为 00x00x。前面3位表示 是分了多少个包,后面的三位表示 是第几个包 。
请问 我应该 如何 实现。
初学 shell 。 大家 多多指教 !
我现在 能把 文件 分割 ,但是 后缀 是从 000 开始的,不是001.而且 我也不知道 如何统计 分包的个数。
split -b 20m -a 3 -d test test.
|
将以上描述汇整,不外乎几个问题
1) 分割文件名,从 01 开始
遗憾,split 默认就是从 00 开始,所以必须另想办法
2) 分割文件名,要显示 分割后的 文件总数,如,XX
同样遗憾,无法通过 split 一条语句解决
能想到的解决办法
1) 分割 -> 统计 -> 重命名文件,一步一步实现。
这样的话,就需要通过脚本实现。 难点在于,文件名 顺序 + 1 (如,00 -> 01)
2) 调整业务
如,文件名不变(就从 00 开始),最终生成一个文件(文件总数.txt 如,22.txt)
1) 分割文件名,从 01 开始
遗憾,split 默认就是从 00 开始,所以必须另想办法
2) 分割文件名,要显示 分割后的 文件总数,如,XX
同样遗憾,无法通过 split 一条语句解决
能想到的解决办法
1) 分割 -> 统计 -> 重命名文件,一步一步实现。
这样的话,就需要通过脚本实现。 难点在于,文件名 顺序 + 1 (如,00 -> 01)
2) 调整业务
如,文件名不变(就从 00 开始),最终生成一个文件(文件总数.txt 如,22.txt)