Mailinglist Archive: opensuse-de (539 mails)

< Previous Next >
Re: Zeilen live zählen
Hallo Andre,

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 >
Follow Ups