簡體   English   中英

如何從grep的輸出中選擇

[英]How do I get a selection from the output of a grep

我在文件中有以下文字:

<img id="img_1" style="display: none" src="Logs/P2P2014-04-10_14-24-49.txt"/></span></div></div><script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>1m31.846s seconds</strong>";</script><script type="text/javascript">document.getElementById('totals').innerHTML = "1

我想要做的是獲取src之后的東西,即Logs/P2P2014-04-10_14-24-49.txt 我嘗試了以下內容並將其放入ruby中的變量中:

我試過做:

text = `grep 'Logs\/.*txt\"'`

但這會返回整個該死的行,而不僅僅是文本。 我怎么做到這一點?

使用Nokogiri ,看看解決問題有多容易:

require 'nokogiri'

doc = Nokogiri::HTML.parse <<-html
<img id="img_1" style="display: none" src="Logs/P2P2014-04-10_14-24-49.txt"/></span></div></div>
html

doc.at('#img_1')['src'] # => "Logs/P2P2014-04-10_14-24-49.txt"

閱讀教程以了解和學習Nokogiri。

嘗試使用

text=$(grep -o 'Logs\/.*txt\"')

它應該只返回該行的匹配部分。

使用sed

sed -n 's/.*src="\([^"]*\)".*/\1/p' file

如果支持-P選項,使用gnu grep

grep -Po '(?<=src=")[^"]*' file

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM