使用sed收集图案线及其后续行,直到收集到另一个图案

时间:2016-06-15 20:24:52

标签: unix awk sed grep

我正在尝试从像这样的文件中生成某个输出

>Good_Description1
information
information
information
>BadDescription1
information
information
information
>Good_Description2
information
information
information

我想制作:

>Good_Description1
information
information
information
>Good_Description2
information
information
information

你会怎么做呢?

-Thanks

2 个答案:

答案 0 :(得分:1)

awk救援!

$ awk '/^>Good_Des/{p=1} /^>BadDes/{p=0} p' file

>Good_Description1
information
information
information
>Good_Description2
information
information
information

答案 1 :(得分:0)

这可能适合你(GNU sed):

sed '/>/h;G;/>Good_Description/P;d' file

将描述存储在保留空间中并将其附加到每一行。如果该行包含>Good_Description,则仅打印第一行。