5

我正在尝试将标题添加到stdout流中。我能想到的最好的方法是使用临时文件和cat' 连字符选项。我怎样才能把它变成一个单线管道?谢谢。

python myscript.py myparm > tmp
echo 'a,b,c' | cat - tmp  > output
4

3 回答 3

11
{ echo 'a,b,c'; python myscript.py myparm; } > output

没有临时文件或不需要cat的。

于 2013-10-31T20:34:50.660 回答
6

您可以使用进程替换

echo 'a,b,c' | cat - <(python myscript.py myparm)  > output

或者:

cat <(echo 'a,b,c') <(python myscript.py myparm)  > output
于 2013-10-31T20:32:05.603 回答
0

这是我在 cgi 脚本中通过 gzip 传输数据的方法。while 循环中的所有内容都会通过输出,除非您在循环内专门将其重定向(这可能非常有用)。

RUNONCE=""
while ([ ! "$RUNONCE" ]) do
  RUNONCE=true
  echo stuff
  exec stuff
  cat stuff
  #whatever you want
done >output
于 2013-10-31T20:40:15.903 回答