Mailinglist Archive: opensuse-de (539 mails)
| < Previous | Next > |
Re: Zeilen live zählen
- From: Roman Fietze <roman.fietze@xxxxxxxxxxxxx>
- Date: Thu, 6 Oct 2011 10:26:54 +0200
- Message-id: <201110061026.54642.roman.fietze@telemotive.de>
Hallo Andre,
On Thursday, 06.October.2011 09:46:45 Andre Tann wrote:
for ((i=100;i>0;i--)); do printf '\r%b\e[K' "$i"; usleep 20000; done; echo
Aber das ist so nicht portabel.
Und so ist's schon fast ueberall lauffaehig, nur eben langsamer:
for ((i=100;i>0;i--)); do printf '\r%b' "$i"; tput el; usleep 20000; done; echo
Also noch etwas schneller:
el=$(tput el)
for ((i=100;i>0;i--)); do printf '\r%b%s' "$i" "$el"; usleep 20000; done; echo
Evt. erst mal noch abtesten ob 'tput el' einen Fehler bringt wie
unknown terminfo capability.
So ist die offizielle Bezeichnung, auch sichtbar im Titel der man page.
Roman
--
Roman Fietze Telemotive AG Buero Muehlhausen
Breitwiesen 73347 Muehlhausen
Tel.: +49(0)7335/18493-45 http://www.telemotive.de
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+owner@xxxxxxxxxxxx
On Thursday, 06.October.2011 09:46:45 Andre Tann wrote:
Ich habe jetzt:
for ((i=100;i>0;i--)); do printf '\r%b ' "$i"; usleep 20000; done; echo
Funktioniert, aber auch hier gefällt mir immer noch nicht, daß hinter %b
ein paar Leerzeichen eingefügt werden müssen, damit die Zahl richtig
erscheint. Gibt es eine Möglichkeit zu sagen: $i schreiben, Rest der
Zeile löschen?
for ((i=100;i>0;i--)); do printf '\r%b\e[K' "$i"; usleep 20000; done; echo
Aber das ist so nicht portabel.
Und so ist's schon fast ueberall lauffaehig, nur eben langsamer:
for ((i=100;i>0;i--)); do printf '\r%b' "$i"; tput el; usleep 20000; done; echo
Also noch etwas schneller:
el=$(tput el)
for ((i=100;i>0;i--)); do printf '\r%b%s' "$i" "$el"; usleep 20000; done; echo
Evt. erst mal noch abtesten ob 'tput el' einen Fehler bringt wie
unknown terminfo capability.
Warum schreibst Du (1) hinter printf - damit ich "man 1 printf" angucke?
So ist die offizielle Bezeichnung, auch sichtbar im Titel der man page.
Roman
--
Roman Fietze Telemotive AG Buero Muehlhausen
Breitwiesen 73347 Muehlhausen
Tel.: +49(0)7335/18493-45 http://www.telemotive.de
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+unsubscribe@xxxxxxxxxxxx
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+owner@xxxxxxxxxxxx
| < Previous | Next > |