2014-03-30 28 views
-1

提取HTML標籤所以我有這樣的代碼如何只使用grep在bash

<span class="cur_wind">Sunrise <b>7:33 a.m.</b> <br />

,我想用grep提取日出時間在這日落的時間。我應該怎麼做?我只想使用grep,因爲我不熟悉awk和sed以及其他人。乾杯!

回答

-1

你可以使用awk這樣:

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

真的是不走這裏的路,但一些原始的象下面這樣,如果你沒有任何多餘的時間運營商可能會奏效。

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 

而且可以通過管道將再次刪除標記字符。