我有一个包含多个图像的二进制文件。每个图像区域都以ASCII字符串开头。问题是字符串之间的字节不是文本/ ASCII而是平面二进制字节。 所以“string1”和“string2”之间的二进制数据是我的image-1,依此类推。 如何在bash中提取每张图像?可能正在使用'sed'? 请帮助。
答案 0 :(得分:0)
这是一个perl版本。将其放入文件" myprog",将标题编辑为您想要的内容chmod +x myprog
,然后执行./myprog <yourdatafile
。它会创建文件out1
,out2
等。它假定文件以标题开头,或者您可以忽略第一部分。
#!/usr/bin/perl
use strict;
my $data = join('',<STDIN>);
my $i = 1;
my $header = "abc";
foreach my $part (split($header,$data)){
open(OUT,">out$i");
print OUT $header,$part;
close(OUT);
$i++;
}