我想使用selfspy來跟蹤點擊次數,擊鍵次數和鼠標移動次數,然後使用cron作業來運行shell腳本並使用(我相信)sed
分割字符串,並通過curl
將信息發送到SparkCore。任何人都可以幫我解決這個問題的sed
部分嗎?Cron作業和shell腳本將字符串拆分併發送到SparkCore?
bash命令selfstats --clicks
返回此:
$ selfstats --clicks
5006 keystrokes in 407 key sequences, 2791 clicks (2361 excluding scroll), 157648 mouse movements
Mouse clicks:
2298 left
0 middle
26 right
143 up
287 down
我想在SparkCore一邊是:
clicks = 2791;
keystrokes = 5006;
mouseMovement = 157648;
到目前爲止,我覺得shell腳本會是這個樣子,用正確的sed
命令:
# !/bin/bash
CLICKS="$(selfstats --clicks | sed)"
KEYSTROKES="$(selfstats --clicks | sed)"
MOUSE_MOVEMENT="$(selfstats --clicks | sed)"
curl https://api.spark.io/v1/devices/abcdef/programname \
-d access_token=123412341234 -d clicks=$CLICKS
curl https://api.spark.io/v1/devices/abcdef/programname \
-d access_token=123412341234 -d keystrokes=$KEYSTROKES
curl https://api.spark.io/v1/devices/abcdef/programname \
-d access_token=123412341234 -d mouseMovement=$MOUSE_MOVEMENT
好吧,我用'selfstats --clicks | sed'2,9d'| sed's/\([0-9] * \)。*/\ 1 /''返回keystokres,'5006',這樣看起來很成功。我會想象有一個更簡潔的方式來做到這一點,但我無法到達那裏。而且,我認爲RE可以存儲多達9種模式,並且我可以將命令命令爲'selfstats --clicks | sed'2,9d'| sed's/\([0-9] * \)。*/\ 3 /'',但是這不起作用:'sed:1:'s/\([0-9] * \)。*/\ 3 /「:\ 3未在RE中定義。 – 2015-03-31 17:57:53