Adott a Conky, és adott egy script, amivel egy honlapról az aktuális euró/dollár árfolyamot lehet begyűjteni, és a conkyn megjeleníteni. Így néz ki a script:
#!/bin/bash
URI=http://www.forexcult.com/charts.php?q=EURHUF
EXEC="/usr/bin/bin/curl -s"
$EXEC $URI | grep "1 EUR =" | cut -d" " -f6 | cut -c1-8,12-16
conkyban így jelenítem meg:
${execi 300 /home/koppany/rendszer/conky-rss.sh} HUF
És így jelenik meg:
if (fore= 'eu
1 EUR = 282.9 HUF
Namármost, a probléma a következő: Azt az if-fore szöveget el kéne onnan tűntetni, de akárhogy variálgattam a cut-számokat, a szöveggel együtt az árfolyam is eltűnt, míg végül már nem volt szöveg, de árfolyam sem, és már csak az maradt, hogy HUF. Olyan, mintha össze lennének kapcsolva a számok és a szöveg, egyszerre törlődnek. De nemtudom, cuttal eddig kifejezetten ritkán találkoztam.
Lenne valakinek ötlete?
- 1827 megtekintés
Hozzászólások
Helló!
Íme az említett feladatra az én megoldásom:
${rss http://feeds.currencysource.com/EUR.xml 1 item_title 17 5}
${rss http://feeds.currencysource.com/USD.xml 1 item_title 17 5}
üdv:
robyboy
- A hozzászóláshoz be kell jelentkezni
igen, eredetileg nekem is ez volt. De nem jó, mert már napok óta RSS-hibát jelez folyton.
- A hozzászóláshoz be kell jelentkezni
a grepnél csak az a sor kell nekünk, amiben az is benne van, hogy HUF,
utána pedig szerintem egyszerűbb regexppel cserélni. Ifjú titánként én is a cutot szerettem :)
curl -s http://www.forexcult.com/charts.php?q=EURHUF | grep '1 EUR = .* HUF' |\
sed -e 's/.*>\([0-9\.]\+ HUF\).*/\1/g'
az elsődleges problémád az volt, hogy a grep után két sorod maradt. tulajdonképpen elég lehet számodra, ha a grepes részedet kicseréled az enyémmel, és utána azt cutolsz, amit akarsz :)
—-—-—
int getRandomNumber() {
return 4;//szabályos kockadobással választva.
} //garantáltan véletlenszerű. xkcd
- A hozzászóláshoz be kell jelentkezni
Kicseréltem a grepet a tiédre, és a végére beraktam a szokásos cutot, de ugyanolyan maradt.
De amúgy igen, látom már, két sor van, amiben az "1 EUR =" szerepel. Már csak azt nem tudom, hogy kell kiválasztani a megfelelőt, amiben HUF van. Meg lehet neki mondani, hogy a kettő közül csak a másodikat nézze? Csak a másodikban van HUF, de valamiért azt a sort is nézi, amiben nincs.
Úgyhogy tényleg nem piszkálgatásból, de jó lesz a greped, csak nem akar működni :)
Eddig nem értettem a grep és a cut működését, most kezd derengeni.
- A hozzászóláshoz be kell jelentkezni
nemtom, akkor emeld át az egész sort úgy ahogy van :)
20:37:31 balint@gombocartur:~$ curl -s http://www.forexcult.com/charts.php?q=EURHUF | grep '1 EUR = .* HUF' | sed -e 's/.*>\([0-9\.]\+ HUF\).*/\1/g'
282.93 HUF
20:44:29 balint@gombocartur:~$
nálam korrektül ennyit büfög ki az egész sor.
a sed paraméterét elmagyarázom akkor már:
fogja az egész sort,
keressen benne egy ilyen részt:
">többszámvagypont HUF"
ls ebből a többszámvagypont HUF részre cseréli le az egész sort.
—-—-—
int getRandomNumber() {
return 4;//szabályos kockadobással választva.
} //garantáltan véletlenszerű. xkcd
- A hozzászóláshoz be kell jelentkezni
Vagy esetleg:
wget -q -O- http://www.forexcult.com/charts.php?q=EURHUF | sed -n '/1 EUR = .* HUF/s/.*EUR = <b>\([0-9\.]\+\) HUF.*/1 EUR = \1 HUF/p'
- A hozzászóláshoz be kell jelentkezni
Ez se működik, nem tudom mi lehet a baj. Itt is két sort ír ki, azt is amiben nincs HUF.
- A hozzászóláshoz be kell jelentkezni
Akkor azt valami mas irja ki :)
$ wget -q -O- http://www.forexcult.com/charts.php?q=EURHUF | grep -c 'if (fore='
0
Ha mégis, akkor biggyessz a végére, egy "| tail -n 1" -et, ez csak az utolsó sort írja ki.
- A hozzászóláshoz be kell jelentkezni
Ahá, taillel működik, nagyon szépen működik. Köszi szépen a segítséget mindenkinek, probléma megoldva :)
- A hozzászóláshoz be kell jelentkezni