【发布时间】:2018-12-10 14:01:45
【问题描述】:
sed -nE "s/(IMAGE)(.*)/\1\2/p" somefile > sfh.raw
somefile 在图像之后包含随机 ASCII 和二进制数据。如果文件中没有换行二进制数据,则上述 sed 命令有效。如果有换行符,它只会输出到新行,忽略文件的其余部分。
有没有一种方法可以让 sed (.*) 捕获包括新行在内的所有内容,并一直持续到 somefile 内容结束。
IMAGE254656
dsfdfdl;flkdfldsfkdsfkdlsfdfldfkdsfo;dsfkldsfdsfsd
【问题讨论】:
-
试试
grep -Eoz 'IMAGE.*' somefile > sfr.raw(如果你有GNUgrep) -
sed 's/(foo)(bar)/\1\2/'毫无意义,因为它是身份转换。 -
sed逐行操作,我认为你不能让它跨行工作,或者将文件读取为二进制文件。 -
sed可以跨行工作;它不是为处理二进制数据而设计的。