在我的例子中,用例是 CSS 文件连接,在它被最小化之前。连接两个 CSS 文件:
cat 1.css 2.css > out.css
要在一个位置添加一些文本,我可以这样做
cat 1.css <<SOMESTUFF 2.css > out.css
This will end in the middle.
SOMESTUFF
要从另一个程序添加STDOUT:
sed 's/foo/bar/g' 3.css | cat 1.css - 2.css > out.css
到目前为止,一切都很好。但是我经常遇到需要将多个字符串、文件甚至程序输出混合在一起的情况,例如版权标题、预处理的文件sed(1)
等等。我想以尽可能少的步骤和临时文件将它们连接在一起,同时可以自由选择顺序。
简而言之,我正在寻找一种在 Bash 中以尽可能少的步骤执行此操作的方法:
command [string|file|output]+ > concatenated
# note the plus ;-) --------^
(基本上,cat
我想拥有一个处理多个 STDIN 就足够了,比如
<(echo "FOO") <(sed ...) <(echo "BAR") cat 1.css -echo1- -sed- 2.css -echo2-
但我看不到,我如何才能访问这些。)