2013-04-09 65 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