2009-12-07 77 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]}"