[英]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真的不是去这里的方法,但如果你没有任何额外的时间操作符,像下面这样的原始东西可能会起作用。
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 <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 <b>7:17 p.m
您可以再次通过管道传递给grep以删除标记字符。
你可以使用awk
来做到这一点:
awk '{gsub(/<[^>]*>/, " ");$1=$1}1' file
Sunrise 7:33 a.m.
Sunset 7:17 p.m.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.