nur stderr in eine pipe - wie?

25/04/2014 - 08:20 von Matthias Böttcher | Report spam
Hallo an alle,

ich möchte in der bash die Fehlerausgabe eines Kommandos (stderr bzw.
fd 2) in eine pipe (zu grep) schicken. Die Standardausgabe soll
_nicht_ in die pipe umgelenkt werden. Mir ist bewusst, dass dann nach
grep alles, auàŸer der Fehlerausgabe von grep selbst, auf der
Standardausgabe landet. Mein Ziel ist, bestimmte definierte
Fehlermeldungen mit grep zu filtern.
Der Hinweis aus "man bash"

If |& is used, the standard error of command is connected to command2's
standard input through the pipe; it is shorthand for 2>&1 |.

hilft mir nicht weiter, denn mit |& werden 1 und 2 (stdout und stderr)
in die pipe umgelenkt nach dem gelà¤ufigen Prinzip "2>&1 |".

Eine Idee wà¤re eine fifo, aber ich möchte vermeiden, explizit eine
fifo anzulegen und wieder wegzurà¤umen..
Habt ihr Ideen?

Sonnige Grà¼àŸe
Matthias Böttcher


Zum AUSTRAGEN schicken Sie eine Mail an debian-user-german-REQUEST@lists.debian.org
mit dem Subject "unsubscribe". Probleme? Mail an listmaster@lists.debian.org (engl)
Archive: https://lists.debian.org/CAFBm81o94...O7c4fP5w1Q@mail.gmail.com
 

Lesen sie die antworten

#1 Michael Stummvoll
25/04/2014 - 09:20 | Warnen spam
On Fri, 25 Apr 2014 08:18:47 +0200
Matthias Böttcher wrote:

Hallo an alle,



Hi,
ich möchte in der bash die Fehlerausgabe eines Kommandos (stderr bzw.
fd 2) in eine pipe (zu grep) schicken. Die Standardausgabe soll
_nicht_ in die pipe umgelenkt werden.



also stdout soll normal in dein Terminal ausgeben werden und stderr
willst du filtern?
Ich denke hierfür musst du einen dritten Descriptor verwenden:

$ exec 3>&1
$ ls foo bar blub 2>&1 >&3
ls: cannot access bar: No such file or directory
ls: cannot access blub: No such file or directory
foo
$ ls foo bar blub 2>&1 >&3 | grep bar
foo
ls: cannot access bar: No such file or directory

Liebe Grüße,
Micha


Zum AUSTRAGEN schicken Sie eine Mail an
mit dem Subject "unsubscribe". Probleme? Mail an (engl)
Archive: https://lists.debian.org/

Ähnliche fragen