gpt4 book ai didi

regex - 为 Linux Grep 命令匹配字符串之间的任何内容

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:43:29 24 4
gpt4 key购买 nike

我已阅读帖子 grep all characters including newline但我不使用 XML,所以它与我的 Linux 命令有点不同。

我有以下数据:

Example line 0</span>
<tag>Example line 1</tag>
<span>Example line 1.5</span>
<tag>
Example line 2
</tag>
Example line 3
<span>Example line 4</span>

使用此命令 cat file.txt | grep -o '<tag.*tag>\|^--.*'我得到:

<tag>Example line 1</tag>

但是,我希望输出为:

<tag>Example line 1</tag>
<tag>Example line 2</tag>

如何匹配字符串之间的任何内容,包括换行符?

注意:我需要使用 <tagtag>作为字符串,因为其他文件可以在行之间包含多个标签和文本。将更新样本数据以表明这一点。

最佳答案

使用 gnu-awk 更容易做到这一点使用 </tag>作为记录分隔符:

awk -v RS='</tag>' 'RT {gsub(/\n/, ""); print $0 RT}' file

<tag>Example line 1</tag>
<tag>Example line 2</tag>

关于regex - 为 Linux Grep 命令匹配字符串之间的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40050239/

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