繁体   English   中英

如何仅使用 grep 提取 bash 中的 html 标签

[英]How to use grep only to extract html tags in bash

所以我有这个代码

<span class="cur_wind">Sunrise <b>7:33 am</b> <br />

我想用grep来提取日出时间和日落时间。 我该怎么做? 我只想使用 grep,因为我不熟悉 awk 和 sed 以及其他。 干杯!

真的不是去这里的方法,但如果你没有任何额外的时间操作符,像下面这样的原始东西可能会起作用。

grep -oP "(Sunrise|Sunset|\d+:\d+ (a.m|p.m))" 

样本输出

> cat file
<td valign="top"><span class="cur_wind">Sunrise <b>7:33 a.m.</b> <br />
            Sunset&nbsp; <b>7:17 p.m.</b></span></td>
> grep -oP "(Sunrise|Sunset|\d+:\d+ (a.m|p.m))" file 
Sunrise
7:33 a.m
Sunset
7:17 p.m

或者,这样的事情可能会摆脱更多的错误情况

grep -oP "(Sunrise(.*)\d+:\d+ (a.m|p.m))|(Sunset(.*)\d+:\d+ (a.m|p.m))" file 
Sunrise <b>7:33 a.m
Sunset&nbsp; <b>7:17 p.m

您可以再次通过管道传递给以删除标记字符。

你可以使用awk来做到这一点:

awk '{gsub(/<[^>]*>/, " ");$1=$1}1' file
Sunrise 7:33 a.m.
Sunset&nbsp; 7:17 p.m.

使用 grep 从<div>容器标签</div><div id="text_translate"><p>我有一个页面,其中包含不同作者的许多帖子。 我想要来自该帖子页面的用户 A 的帖子。</p><p> 如何设置 grep 以查看作者页面中每个帖子的 html 块,然后将帖子的内容打印到文件中? 帖子结构类似于</p><pre>&lt;;--Begin Msg Number #####--&gt; [useless junk i'm not interested in here] &lt;span class="author vcard"&gt;&lt;a class="url fn" href='url here'&gt;User A&lt;/a&gt;&amp;nbsp;&lt;/span&gt; [more junk] &lt;div class='post entry-content '&gt; &lt;!--cached-some date string--&gt; Here's the text I want to extract &lt;/div&gt; [more junk] &lt;hr /&gt;</pre><p> 我认为结构类似于</p><pre>grep /pattern/ output file</pre><p> 但我是否需要明确告诉它只在</p><pre>&lt;.-- begin msg... --&gt;</pre><p> 和</p><pre>&lt;hr /&gt;</pre><p> 绑定帖子的标签,还是 grep 足够智能以自动执行此操作? 我担心当 grep 找到用户 A 的模式时,它会将所有帖子内容打印到一个文件中,而不仅仅是那个特定的。</p></div>

[英]Using grep to extract html from <div> container tags

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用 sed 或 grep 提取 HTML 标签之间的文本 如何在bash中使用grep删除span标签? 使用 grep 从<div>容器标签</div><div id="text_translate"><p>我有一个页面,其中包含不同作者的许多帖子。 我想要来自该帖子页面的用户 A 的帖子。</p><p> 如何设置 grep 以查看作者页面中每个帖子的 html 块,然后将帖子的内容打印到文件中? 帖子结构类似于</p><pre>&lt;;--Begin Msg Number #####--&gt; [useless junk i'm not interested in here] &lt;span class="author vcard"&gt;&lt;a class="url fn" href='url here'&gt;User A&lt;/a&gt;&amp;nbsp;&lt;/span&gt; [more junk] &lt;div class='post entry-content '&gt; &lt;!--cached-some date string--&gt; Here's the text I want to extract &lt;/div&gt; [more junk] &lt;hr /&gt;</pre><p> 我认为结构类似于</p><pre>grep /pattern/ output file</pre><p> 但我是否需要明确告诉它只在</p><pre>&lt;.-- begin msg... --&gt;</pre><p> 和</p><pre>&lt;hr /&gt;</pre><p> 绑定帖子的标签,还是 grep 足够智能以自动执行此操作? 我担心当 grep 找到用户 A 的模式时,它会将所有帖子内容打印到一个文件中,而不仅仅是那个特定的。</p></div> 我如何提取 HTML 标签中只有<p></p> Scrapy:如何仅从网页中提取html标签 如何从带有 VBA 的 HTML 标签中提取值以用于 Excel? 如何使用BeautifulSoup提取HTML标记之外的数据 如何提取HTML标记标签 使用bash脚本从html中提取信息 如何使用 <base> 仅在html5中标记特定锚标记
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM