遇到换行符后,sed停止获取剩余内容

时间:2018-12-10 14:01:46

标签: regex linux sed

sed -nE "s/(IMAGE)(.*)/\1\2/p" somefile > sfh.raw

somefile在图像后包含随机ASCII以及二进制数据。如果文件中没有换行二进制数据,则上述sed命令有效。如果有换行符,则仅输出直到换行符为止,而忽略文件的其余部分。

有没有一种方法可以使sed(。*)捕获包括新行在内的所有内容,并继续到somefile内容的结尾。

IMAGE254656
   dsfdfdl;flkdfldsfkdsfkdlsfdfldfkdsfo;dsfkldsfdsfsd

1 个答案:

答案 0 :(得分:0)

为此考虑使用awk

awk '/^IMAGE/{i=1}i' somefile

awk逐行处理文件,并允许您设置变量并检查每行的内容和许多其他非常特别的东西。

此脚本检查每一行以查看其是否以IMAGE开头。如果是这样,它将变量i设置为1。然后,检查是否设置了i。如果是这样,它将执行其默认行为:打印行。