Połącz ciągi, pliki i dane wyjściowe programu w Bash

Przypadek użycia jest, w moim przypadku, konkatenacją plików CSS, zanim zostanie zminimalizowany. Aby połączyć dwa pliki CSS:

cat 1.css 2.css > out.css

Aby dodać tekst wjeden singiel mogę zrobić

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

Aby dodać STDOUT zjeden inny program:

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

Jak na razie dobrze. Ale regularnie przychodzę w sytuacjach, w których muszę się wymieszaćkilka ciągi, pliki, a nawet wyjście programu razem, jak nagłówki praw autorskich, pliki wstępnie przetworzone przezsed(1) i tak dalej. Chciałbym połączyć je w tak małe kroki i pliki tymczasowe, jak to tylko możliwe, mając jednocześnie swobodę wyboru kolejności.

Krótko mówiąc, szukam sposobu na zrobienie tego w możliwie najmniejszym stopniu w Bash:

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

(Zasadniczo posiadaniecat Myślę, że wystarczy obsłużyć wiele STDIN

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

Ale nie widzę, jak mam do nich dostęp.)

questionAnswers(3)

yourAnswerToTheQuestion