我想写一个grep命令,它将在h1标签之间提取内容,而不考虑类和其他属性
我试过
grep -o '>.*</h1>' Email.txt
但只给出了三个元素
使用GNUgrep
,您可以使用
grep -oP '<h1(?:s[^>]*)?>K.*?(?=</h1>)' Email.txt
-P
选项将启用PCRE正则表达式引擎,并且模式将与匹配
<h1
-<h1
字符串(?:s[^>]*)?
-一个可选的非捕获组,匹配1或0个空白(s
(,后面跟0个以上的字符,而不是>
>
-一个>
字符K
-匹配重置运算符,用于丢弃到目前为止从匹配内存缓冲区匹配的文本.*?
-换行字符以外的任何0+个字符,尽可能少(?=</h1>)
-与紧接着</h1>
子字符串的位置相匹配的正向前瞻