A wget progress bar elég "látványos", de speciális esetekben nem használható. pl. speciális kijelző esetén, ahol jó ha képernyőtörlés lehetséges de a pozicionálgatás eléggé macera és a felbontása se a normál, tehát törhetnek a sorok meg ilyesmi. A kérdés az lenne, foglalkozott-e valaki olyan esettel ahol a wget-et használta letöltésre és a wget kimenetéből csak a százalékos értéket tudta a képernyőn megjeleniteni anélkül hogy a wget forráskódját átirta. Illetve hogy lehet esetleg strace vagy egyéb progi segitségével úgy meghívni a wget-et hogy csak ez az adat jelenjen meg?
köszi
- 1399 megtekintés
Hozzászólások
wget --progress=dot http://www.akarm.hu/akarmi.txt 2>&1|awk '{printf("\r "$7" ")}'
- A hozzászóláshoz be kell jelentkezni
printf helyett print.
- A hozzászóláshoz be kell jelentkezni
a valaszod hibas.
- A hozzászóláshoz be kell jelentkezni
Nem valasz volt, hanem hozzaszolas es nalam nem megy amit irtal.
ezt mondja:
Run time error: not enough arguments passed to printf("
(mawk 1.3.3, GNU awk-val mukodik...)
- A hozzászóláshoz be kell jelentkezni
valoban igy lenne a helyes:
printf("\r %s ",$7)
igy mukodnie kell.
a hulyesegemet a gawk kijavitja.
- A hozzászóláshoz be kell jelentkezni
1. wget --progress=dot "http://www.proba.hu/akarmi.txt" 2>&1|awk '{print("\r "$7" ")}'
OK
0%
1%
2%
3%
......
2. wget --progress=dot "http://www.proba.hu/akarmi.txt" 2>&1|awk '{printf("\r "$7" ")}'
17%
A printf jobbnak tünt, már csak az a kérdés ha van 2 echo parancsom, 1 ami képernyőt töröl a másik pedig ami a bal felső pozicióba áll, azt bele tudom-e kombinálni valahogy a 2. esetbe (printf-es megoldás)
echo -n -e \\033[2J > /tmp/akarmi_pipe (képernyőtörlés)
echo -n -e \\033[0H > /tmp/akarmi_pipe (bal felső sarok)
- A hozzászóláshoz be kell jelentkezni
tesztelsz minket?
nekem az eletbe nem jutna eszembe szekvencialis karakterrel torolni kepernyot.
amennyiben csak a tudasod nem megfelelo szintjebe keresendo a valasz tudom ajanlani a "Brian W. Kernighan - Rob Pike A UNIX operacios rendszer" konyvet. ha erdekel a shellek vilaga.
az echo es a print, (zsh-ben print-et hasznalnak echo helyett)
az echo -n es printf kozott
a jelen peldaban le'nyegi kulonbseg nincs.
A valaszom pedig az hogy nem erdemes, mert a wget a --progress=dot hatasara vagy a kimenet stdout atiranyitasnanak a hatasara egy bizonyos adatmennyiseg letoltese utan uj sorban irja ki az adatokat amit allandoan feldolgoz az awk. Ezert tobbszor vegrehajtodna a kepernyotorles ami nem indokolt foleg ha egy 9600 modemmel netezel.
clear;wget........
- A hozzászóláshoz be kell jelentkezni
Egy ipari pc-ről van szó. Amire speciális display csatlakozik USB-n keresztül (rendes VGA monitor is megy rá, csak normál üzem esetén a monitor nincs rajta sajnos), ezen a display-en kellene megjelenitenem (azon a /tmp/akarmi_pipe-on keresztül lehet rá irni) a gprs kapcsolat segítségével letöltött fájlok letöltésének aktuális százalékát vagy hátralévő idejét, nehogy a kezelő azhigyje hogy lefagyott a gép és kikapcsolja (mert ugye a gprs nem a gyorsaságáról híres).
- A hozzászóláshoz be kell jelentkezni