[英]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.