【发布时间】:2012-10-23 04:30:27
【问题描述】:
我是脚本新手,正在尝试学习如何提取存在于两种不同模式之间的任何文本。但是,我仍然无法弄清楚如何在以下场景中提取两种模式之间的文本:
如果我有我的输入文件阅读:
Hi I would like
to print text
between these
patterns
而我预期的输出如下:
I would like
to print text
between these
即我的第一个搜索模式是“Hi”并跳过此模式,但打印匹配模式之后存在于同一行中的所有内容。我的第二个搜索模式是“模式”,我想完全避免打印此行或除此之外的任何行.
我尝试了以下方法:
sed -n '/Hi/,/patterns/p' test.txt
[输出]
Hi I would like
to print text
between these
patterns
接下来,我尝试了:
`awk ' /'"Hi"'/ {flag=1;next} /'"pattern"'/{flag=0} flag { print }'` test.txt
[输出]
to print text
between these
有人可以帮助我确定如何实现这一目标吗? 提前致谢
【问题讨论】: