2013-04-09 85 views
0
wget --output-document=- http://www.tip.it/runescape/grand-exchange-centre 2>/dev/null \ 
| grep "The Grand Exchange updated" \ 

將輸出類似:拉文本和修剪

<h4 id="gec_update_time">The Grand Exchange updated <span><b>1</b> days, <b>12</b> hours, <b>45</b> minutes and <b>1</b> seconds ago</span></h4> 

我的目標是修剪它,所以它只會輸出:

1 days, 12 hours, 45 minutes, 1 seconds 

不完全與它的偉大, 有小費嗎?

回答

1

如果是使用lynx的選項,你得到這個免費:

$ lynx -dump http://www.tip.it/runescape/grand-exchange-centre | grep "The Grand Exchange updated" 
The Grand Exchange updated 1 days, 19 hours, 8 minutes and 48 seconds ago 

從那裏你可以捨去開頭的文字,如果要求:

$ foo="$(lynx -dump http://www.tip.it/runescape/grand-exchange-centre | grep "The Grand Exchange updated")" 
$ echo "${foo#*updated }" 
1 days, 19 hours, 9 minutes and 8 seconds ago 

如果你絕對要使用wget並去掉標籤,你可以使用這樣的事情:

$ wget --output-document=- http://www.tip.it/runescape/grand-exchange-centre 2>/dev/null | grep "The Grand Exchange updated" | sed -e 's/<[^>]\+>//g' -e 's/The Grand Exchange updated //' 
1 days, 19 hours, 17 minutes and 2 seconds ago 

第一個選項可能是更好的選擇。

1

你可以寫一個簡短的Ruby腳本:

gem install sanitize

建立一個叫做 「cleaner.rb」 文件:

#!/usr/bin/env ruby -w 
require 'rubygems' 
require 'sanitize' 

puts Sanitize.clean(gets).trim 

然後......

wget --output-document=- http://www.tip.it/runescape/grand-exchange-centre 2>/dev/null \ | grep "The Grand Exchange updated" | ./cleaner.rb

給你:「Grand Exchange updat教育1天,13小時0分56秒前」

+0

我在Windows上使用cygwin是否仍然可以安裝gem?寶石究竟做了什麼? – Aaron 2013-04-10 02:32:52