2009-12-07 80 views
1

我需要在一段时间内制作带有数字值的图形,这些值代表网页中的在线用户。使用外壳脚本制作图形

该脚本将每隔30分钟执行一次cron,所需的html文件将与wget一起下载。但还有一些尚未回答的问题&问题:

-i需要从html代码中获取数值(但grep返回整行),如何才能获得数值?我可以用grep得到这个行,看起来像这样:

      Users online: 24 917     </div> 

我怎样才能得到24917?

- 哪会更容易?使用图形生成.svg文件,或将值保存在.csv文件中(并使用OOo或类似方法生成图形)。也许还有其他一些好点子?

由于提前,

-skazhy

回答

3

您可以执行以下操作来获得你的电话号码:

设置正则表达式:

digits='[[:digit:]]+ *[[:digit:]]*' 

随后以下两行:

num=$(echo $line | grep -Eo "$digits") 
num=${num// } 

或这些:

# Bash >= 3.2 (syntax may be different for 3.0/3.1) 
[[ $line =~ $digits ]] 
num=${BASH_REMATCH[@]// } 

取出从可变$line包含在你的问题的线的数目。

Gnuplot应该是容易获得的。其输出的几个例子可以在here找到。

这些是从here

example graphexample graph

0

只是一个进程(grep的):

array=($(grep whatever filename)) && echo "${array[2]}${array[3]}"