Re: Pipe an zwei Befehle?

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Fri, 26 Sep 2003 15:34:03 +0200 (CEST)

Matthias Teege <matthias-dbsdq(at)mteege.de> wrote:
> gibt es eine Möglichkeit, die Ausgabe eines Programmes an zwei (oder
> mehr) Befehle zu senden? Ich möchte die Ausgabe von dvips zweimal an
> lpr, jeweils mit anderen Paramtern, übergeben. Nacheinander
> ausführen ist natürlich möglich aber ogibes würde einen dvips
> Aufruf sparen.

Nur eine kleine Ergänzung, für den Fall, daß Du die zsh
benutzt. Da geht das nämlich schön einfach.

dvips ... | tee >(lpr ...) | lpr ...

Wenn die zsh-Option "multios" aktiv ist (ist der Default),
geht es sogar ganz ohne tee:

dvips ... > >(lpr ...) > >(lpr ...)

Überall dort, wo ein Dateiname stehen kann (z.B. tee oder
hinter ">"), kann man in der zsh auch >(Kommando) hin-
schreiben, um die Daten dem angegebenen Kommando auf stdin
zu geben. Analog mit <(Kommando), um die Daten von stdout
des Kommandos zu bekommen. Wenn die Datei seekable sein
muß, kann man =(Kommando) schreiben (die zsh verwendet dann
eine temporäre Datei anstelle einer Pipe). Extrem nütz-
lich, um z.B. mal schnell den Inhalt zweier Verzeichnisse
zu vergleichen: diff =(ls dir1) =(ls dir2)

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München
Any opinions expressed in this message may be personal to the author
and may not necessarily reflect the opinions of secnetix in any way.
"Emacs ist für mich kein Editor. Für mich ist das genau das gleiche, als
wenn ich nach einem Fahrrad (für die Sonntagbrötchen) frage und einen
pangalaktischen Raumkreuzer mit 10 km Gesamtlänge bekomme. Ich weiß nicht,
was ich damit soll." -- Frank Klemm, de.comp.os.unix.discussion
To Unsubscribe: send mail to majordomo.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 26 Sep 2003 - 15:34:51 CEST

search this site