【发布时间】:2013-05-14 15:26:17
【问题描述】:
请帮助我使用 sed。 我有一个像下面这样的文件。
START=A
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=B
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=C
xxxxx
xxxxx
END
START=A
xxxxx
xxxxx
END
START=D
xxxxx
xxxxx
END
我想获取 START=A, END 之间的文本。 我使用了以下查询。
sed '/^START=A/, / ^END/!d' input_file
这里的问题是, 我得到了
START=A
xxxxx
xxxxx
END
START=D
xxxxx
xxxxx
END
而不是
START=A
xxxxx
xxxxx
END
Sed 贪婪地寻找。
请帮我解决这个问题。
提前致谢。
我可以使用 AWK 来实现上述目标吗?
【问题讨论】:
-
另一个常见的FAQ是“从包含两个标记的行中,我如何提取它们之间的文本”;这是stackoverflow.com/questions/13242469/…