我是脚本新手,正在尝试学习如何提取存在于两种不同模式之间的任何文本。但是,我仍然无法弄清楚如何在以下场景中提取两种模式之间的文本:
如果我有我的输入文件读取:
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
有人可以帮助我确定如何实现这一目标吗?提前致谢