Ich möchte einen Befehl mit Standardeingaben füttern und diese Standardeingaben gleichzeitig in die Datei schreiben. Dies ist nur ein fehlgeschlagener Versuch:
read | tee dump.txt
dieser Befehl wartet auf die Standardeingabe. Ich erwarte, dass alles, was ich eingebe, read
in dump.txt eingespeist UND dort abgelegt wird. Wie kann ich das machen?
Antwort1
Tauschen Sie die Pipe aus: Lassen Sie die Ausgabe zuerst durch, tee
um eine Kopie in einer Datei zu speichern, während Sie sie gleichzeitig erneut auf der Standardausgabe replizieren, und leiten Sie sie dann an Ihren eigentlichen Befehl weiter.
Ich verwende cat
stattdessen here, weil es eine unbegrenzte Menge an Eingaben benötigt und nicht nach der ersten Zeile (plus zusätzlicher Zeilenumbruch, sieheHierfür eine Erklärung davon) wie read
:
echo something | tee dump.txt | cat