Till Toenges <tt(at)kyon.de> wrote:
> ich hatte letztens ein dummes Problem, bei dem ich die Ausgabe von einem
> Programm durch eine Pipe geschickt habe und zeilenweise auswerten
> wollte. Dummerweise wurde dann aber immer nur blockweise ausgewertet,
> was mir gar nichts genützt hat.
> [...]
> Meine Frage ist nun, ob es eine Möglichkeit gibt, ein Programm zur
> zeilenweisen Ausgabe zu zwingen, so als ob es auf einem TTY läuft.
Dafür habe ich folgenden Alias in meiner ~/.zshrc:
alias intty='script -qt0 /dev/null'
Damit kann ich z.B. schreiben:
$ intty sometool -args | grep ...
Zum Glück brauche ich das aber eher selten. Viele Tools
haben eine Option für unbuffered oder line-buffered output
(z.B. cat -u), oder die Sache lässt sich anderweitig
umgehen.
> Ich
> habe erstmal nur einen Eintrag für FreeBSD gefunden, der schon genau in
> die Richtung geht, aber seit einem Jahr nicht weiter kommentiert wurde:
> http://www.freebsd.org/cgi/query-pr.cgi?pr=154915
Oha, das ist auch ein gruselig übler Hack, der in dem PR
vorgeschlagen wird. Der PR sollte geschlossen werden.
Das vom Autor angeführte Beispiel lässt sich ohnehin auf
vielfältige Weise lösen, z.B.:
$ iostat -x 1 | cat -un | grep ad1
oder:
$ iostat -x 1 | awk '{n+=1} /ad1/{print n, $0}'
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M. Handelsregister: Registergericht Muenchen, HRA 74606, Geschäftsfuehrung: secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün- chen, HRB 125758, Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart FreeBSD-Dienstleistungen, -Produkte und mehr: http://www.secnetix.de/bsd "IRIX is about as stable as a one-legged drunk with hypothermia in a four-hundred mile per hour wind, balancing on a banana peel on a greased cookie sheet -- when someone throws him an elephant with bad breath and a worse temper." -- Ralf Hildebrandt To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Thu 16 Feb 2012 - 14:22:40 CET