Ich möchte häufig relativ kurze Zeichenfolgendaten (kann aber auch mehrere Zeilen umfassen) an Befehlszeilenprogramme übergeben, die wiederholt nur Eingaben aus Dateien (z. B. wdiff) akzeptieren. Sicher kann ich eine oder mehrere temporäre Dateien erstellen, die Zeichenfolge dort speichern und den Befehl mit dem Dateinamen als Parameter ausführen. Es sieht für mich jedoch so aus, als wäre dieses Verfahren äußerst ineffizient, wenn Daten tatsächlich auf die Festplatte geschrieben würden, und es könnte die Festplatte mehr als schädigen, wenn ich dieses Verfahren viele Male wiederhole, z. B. wenn ich einzelne Zeilen langen Textes einspeisen möchte Dateien zu wdiff. Gibt es eine empfohlene Möglichkeit, dies zu umgehen, indem beispielsweise Pseudodateien wie Pipes zum temporären Speichern der Daten verwendet werden, ohne sie tatsächlich auf die Festplatte zu schreiben (oder nur, wenn sie eine kritische Länge überschreiten). Beachten Sie, dass wdiff zwei Argumente akzeptiert undwdiff <"text"
.
xargs
würden die Eingabezeilen aus den Datei-String-Argumenten für den Befehl bestehen. Aber ich brauche das Gegenteil.
echo $data_are_here | dumb_program
?
xargs
?