2015-08-18 24 views
1

我試圖使用grep複製文本文件中與特定模式相匹配的行,但是,我遇到了一些問題......我想要抓住「title = 「 容器。Grep語法Dilemna

代碼:

get_tmax=`grep '[0-9][0-9]°C' K0G7_ec_tmp` 
echo "${get_tmax}" > K0G7_ec_tmp2 

文本文件的內容:

<p class="one" title="19&deg;C">19</p> 
<p class="two" title="26&deg;C">26</p> 
+0

這是不是很清楚你在這裏做什麼。你是否將該命令存儲在一個變量中,然後運行它?這通常並不是很好的主意。另外,預期產出是多少? – fedorqui

+0

使用XML解析器(xmllint,xmlstarlet ...)。 – Cyrus

回答

3

您可以使用grep -P與匹配復位\K

grep -ioP 'title="\K[^"]+' K0G7_ec_tmp 
19&deg;C 
26&deg;C 

但是,在使用shell實用程序grep/awk/sed等解析HTML文件時要小心。更好地使用專用的HTML解析器來完成這項工作。

0

grepg/re/p速記這不正是你想要做什麼,所以我想看看sed此:

$ sed 's/.*title="\([^"]*\).*/\1/' file 
19&deg;C 
26&deg;C 

,將與任何操作系統的任何sed的版本。