gpt4 book ai didi

linux - 提取两个模式之间第一次出现的文本

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:46:46 32 4
gpt4 key购买 nike

我有这样一个文本文件

----PAT1----
textaa1
textbb1
textcc1
.......
----PAT2----
----PAT1----
textaa2
textbb2
textcc2
.......
----PAT2----

我想提取 "----PAT1----""----PAT2----" 之间的第一个文本,包括两者图案

所以输出将是:

----PAT1----
textaa1
textbb1
textcc1
.......
----PAT2----

如何使用 sedawk 做到这一点?

我尝试了以下方法,但它不起作用

sed -n '/PAT1/,/PAT2/p' file

其他问题都在展示如何提取所有模式,但没有说明如何只提取第一个模式

最佳答案

使用 q 在匹配到 PAT2 时退出

$ sed -n '/PAT1/,/PAT2/{p;/PAT2/q}' ip.txt 
----PAT1----
textaa1
textbb1
textcc1
.......
----PAT2----

另见 How to select lines between two patterns?

关于linux - 提取两个模式之间第一次出现的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44001735/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com