我需要连接四个二进制文件(即非文本文件)。假设我有四个文件:
文件 1:
AAAA
文件 2:
BBBB
文件 3:
CCCC
文件 4:
DDDD
现在我希望生成的文件看起来像:ABCDABCDABCDABCD。所以我想交替每个字节。我还希望能够每 n 个字节交替一次,即每 1、2、3、4 等字节交替一次。
到目前为止,我搜索到的大部分信息都与文本文件有关,并且使用 cat & paste,这似乎仅适用于文本行。我也找不到有关两个以上文件交替连接的任何数据。
答案1
这应该可行。设置each
为每次读取的字节数。
len=$(stat -c %s file1)
each=1
while [ $len -gt 0 ]
do
dd bs=$each count=1 <&5
dd bs=$each count=1 <&6
dd bs=$each count=1 <&7
dd bs=$each count=1 <&8
let len=len-$each
done 5<file1 6<file2 7<file3 8<file4 2>/dev/null