Verketten Sie Strings, Dateien und Programmausgaben in Bash

Der Anwendungsfall ist in meinem Fall die Verkettung von CSS-Dateien, bevor sie minimiert werden. So verknüpfen Sie zwei CSS-Dateien:

cat 1.css 2.css > out.css

So fügen Sie Text beieine einzelne Position kann ich tun

cat 1.css <<SOMESTUFF 2.css > out.css
This will end in the middle.
SOMESTUFF

Hinzufügen von STDOUT vonein anderes Programm:

sed 's/foo/bar/g' 3.css | cat 1.css - 2.css > out.css

So weit, ist es gut. Aber ich komme regelmäßig in Situationen, in denen ich mischen mussmehrere Zeichenfolgen, Dateien und sogar Programmausgaben werden zusammen ausgegeben, wie Copyright-Header, Dateien, die von vorverarbeitet wurdensed(1) und so weiter. Ich möchte sie in möglichst kleinen Schritten und temporären Dateien zusammenfügen und dabei die Freiheit haben, die Reihenfolge zu bestimmen.

Kurz gesagt, ich suche nach einer Möglichkeit, dies in Bash in möglichst kleinen Schritten zu tun:

command [string|file|output]+ > concatenated
# note the plus ;-) --------^

(Grundsätzlich mit acat mehrere STDINs zu behandeln, würde ausreichen, denke ich

<(echo "FOO") <(sed ...) <(echo "BAR") cat 1.css -echo1- -sed- 2.css -echo2-

Aber ich verstehe nicht, wie ich darauf zugreifen kann.)

Antworten auf die Frage(3)

Ihre Antwort auf die Frage