在Linux中用长度头连接二进制文件?

在Linux中用长度头连接二进制文件?,linux,file,concatenation,protocols,Linux,File,Concatenation,Protocols,有没有简单易行的方法将大量二进制文件连接在一起? 目前,我的最佳选择是使用python对它们进行迭代,打开每一个,计算长度,创建标题,预加前缀等等。 有没有一种简单的方法可以用shell来实现 结果必须是: <file0's length>[file0's binary data] <file1's length>[file1's binary data] ... 我假设文件长度应该存储为4或8个字节,而不是十进制。@lhf是的,4个字节就足够了,它们是很小的文件。这些

有没有简单易行的方法将大量二进制文件连接在一起? 目前,我的最佳选择是使用python对它们进行迭代,打开每一个,计算长度,创建标题,预加前缀等等。 有没有一种简单的方法可以用shell来实现

结果必须是:

<file0's length>[file0's binary data] <file1's length>[file1's binary data] ...

我假设文件长度应该存储为4或8个字节,而不是十进制。@lhf是的,4个字节就足够了,它们是很小的文件。这些文件已经被“压缩”了,所以我只想用我的代码稍后可以解压的方式将它们打包在一起。我的代码已经解压了一个包含块的文件,这些块前面有一个4字节的长度表示。你能精确描述上下文吗?结果是否需要完全符合您指定的格式?我建议只使用
tar
,但它并没有给出完全相同的输出。@Guillaume考虑的更多是将大小从ls神奇地转换为4个字节,然后将文件内容流式传输到一个带有for循环的文件中。在Python中很容易做到,但奇怪的是,使用bash或其他东西是否简单。我的代码已经在期待这个“协议”。