博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
文件分割与合并
阅读量:5333 次
发布时间:2019-06-15

本文共 1707 字,大约阅读时间需要 5 分钟。

造冰箱的大熊猫,本文适用于Linux和Windows@cnblogs 2018/12/19

 

用FAT32文件格式的优盘复制文件时,需要注意文件大小不能超过4GB(我曾经有过一次这样的尴尬经历:在计算机A上将一个压缩文件复制到优盘上。在计算机B上打开该文件时,提示压缩包数据错误。以为是下载文件时出现了问题,于是回到计算机A重新下载,重新复制到优盘,但在计算机B上再次打开文件时依然提示压缩包数据错误。一番折腾之后才突然意识到是文件大小与优盘文件格式不匹配。复制文件到优盘上时,操作系统并没有提示文件过大)。为了解决这个问题,有时候会使用压缩工具将文件分割成若干个小文件。这里,介绍另一种相对简单的处理方式:

 

1、分割文件

1.1、在Linux下

在终端中执行以下命令将文件MyFile分割为若干个文件。分割出的文件名称依次为xaa、xab、xac等。每个分割文件的大小为1000行。split命令从MyFile的文件开始位置以字节为单位读取文件,直到读取到字符0x0a(\n,newline,ASCII LF)。然后将读取到的字节作为1行写入分割文件。0x0a之后的字符作为下一行的第一个字节。

 

split MyFile

 

1.2、在Windows下

不知道!有知道的什么样的Windows操作或命令等同于split命令,请赐教。

 

2、合并split分割出的文件

2.1、在Linux下

如果是在Linux系统下,在终端中执行以下命令将分割文件xaa、xab、xac合并为文件MergedFile。

cat xaa xab xac > MergedFile

 

如果分割文件名按照字母顺序排列的(split命令默认按照字母顺序生成分割文件名),可使用如下命令合并文件。

cat xa* > MergedFile

 

2.2、在Windows下

在命令行中执行以下命令[2]将分割文件xaa、xab、xac合并为文件MergedFile。

copy /b xaa+xab+xac MergedFile

 

3、文件校验

3.1、在Linux下

为了确保合并后的文件是正确的,可在命令行中执行以下命令计算MyFile(被分割文件)的md5[3]值。

md5sum MyFile

 执行结果一般如下所示,其中“7ee1... ...5bdd”为MyFile的MD5值。

7ee145c1b86b6af987c3803361cf5bdd MyFile

对合并文件MergedFile进行同样的操作,如果MergedFIle的md5值与MyFile的md5值相同,则合并文件正确。

md5sum MergedFile

 

为了省去人工判别MD5值的麻烦,可以按照以下步骤执行。首先执行以下命令计算MyFile的md5值,并将结果保存到checkresult.txt文件中。

md5sum MyFile >> checkresult.md5

将checkresult.md5复制到存放MergedFile的路径下,将MergedFile改名为MyFile,并在该路径下执行以下命令

md5sum checkresult.md5

运行结果如下所示,如果校验成功显示OK,失败则显示FAILED。

MyFile.dat: FAILED/OK

 

3.2、在Windows下

找个Windows下支持md5校验的工具吧,具体不知道。

 

2019/2/23补充:有关文件完整性校验可参考。

 

4、split命令的参数使用

 

将文件分割为指定大小(1GB)的文件。

split -b 1GB MyFile

 

设置分割文件名后缀为“.asf”。

split --additional-suffix .asf MyFile

 

设置分割文件名前缀为“mysplit”。

split MyFile mysplit

 

设置分割文件以数字标识(分割文件名依次为x00,x01,x02)。

split -d MyFile

 

 split命令的其它参数详见split命令的网页[1]

 

 

转载于:https://www.cnblogs.com/pandabang/p/10146677.html

你可能感兴趣的文章
【Crash Course Psychology】2. Research & Experimentation笔记
查看>>
关于 linux 的 limit 的设置
查看>>
MTK笔记
查看>>
【题解】 bzoj1597: [Usaco2008 Mar]土地购买 (动态规划+斜率优化)
查看>>
fat32转ntfs ,Win7系统提示对于目标文件系统文件过大解决教程
查看>>
shell cat 合并文件,合并数据库sql文件
查看>>
构建自己的项目管理方案
查看>>
安装Endnote X6,但Word插件显示的总是Endnote Web"解决办法
查看>>
python全栈 计算机硬件管理 —— 硬件
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
各种正则验证
查看>>
python中numpy.r_和numpy.c_
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>
Redis常用命令
查看>>
2019.02.15 bzoj5210: 最大连通子块和(链分治+ddp)
查看>>
微软职位内部推荐-Sr. SE - Office incubation
查看>>
C#类与结构体究竟谁快——各种函数调用模式速度评测
查看>>
我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)...
查看>>