Bash mehrdeutige Weiterleitung - Umleitung zu mehreren Dateien

7
%Vor%

Kann ich zu mehreren Dateien gleichzeitig umleiten?

Bearbeiten: Jede Antwort, die die Verwendung der mehrdeutigen Dateireferenz erlaubt?

    
Synesso 22.12.2010, 00:57
quelle

6 Antworten

16

Dafür steht tee:

%Vor%

tee gibt auch an stdout aus. Sie sollten also entweder eine Datei nach einer Weiterleitung (wie oben gezeigt) einfügen oder stdout an /dev/null senden.

Für Ihren Fall:

%Vor%     
Laurence Gonsalves 22.12.2010, 01:00
quelle
5

Sie können dies mit tee tun, das von stdin liest und in stdout und Dateien schreibt . Da tee auch auf stdout ausgibt, habe ich entschieden, die Ausgabe auf /dev/null zu richten. Beachten Sie, dass die Bash-Erweiterung mit den vorhandenen Dateien übereinstimmt. Daher müssen die Dateien, in die Sie schreiben möchten, vor der Ausführung dieses Befehls vorhanden sein, damit sie funktionieren.

%Vor%

Als eine Randnotiz ist die "" , die Sie an echo übergeben, redundant.

Nicht direkt relevant für Ihre Frage, aber wenn Sie sich nicht auf Bash-Erweiterung verlassen, können Sie mehrere Pipes haben.

%Vor%     
marcog 22.12.2010 01:01
quelle
1

Sie können dies tun:

%Vor%

Um die Ausgabe auf stdout zu unterdrücken, fügen Sie dies am Ende der obigen Befehle hinzu:

%Vor%

Der Befehl echo in Ihrer Frage (für den keine leeren Anführungszeichen erforderlich sind) fügt einfach einen Zeilenumbruch in die Dateien ein. Wenn Sie leere Dateien erstellen möchten, verwenden Sie den Befehl touch .

    
Dennis Williamson 22.12.2010 01:24
quelle
1

Ich hatte dieselbe Frage und wollte nur das Beispiel mit dem Platzhalter hinzufügen, da es nicht angezeigt wurde. Ich denke, das ist, was Sie gesucht haben:

%Vor%     
kidbrax 21.04.2011 02:35
quelle
0

Nein. Was ist mit der Verwendung von tee zweimal?

%Vor%     
Robert 22.12.2010 01:00
quelle
0

Pipe zum "tee" -Befehl, um in eine Datei zu verzweigen und std out, die Kaskade die T-Befehle

    
tletnes 22.12.2010 01:01
quelle

Tags und Links