merge stdin, stdout?

jonny lowe jonny.lowe.12345 at gmail.com
Fri Feb 5 15:39:07 EST 2010


On Feb 4, 8:20 pm, exar... at twistedmatrix.com wrote:
> On 01:56 am, jonny.lowe.12... at gmail.com wrote:
>
>
>
> >Hi everyone,
>
> >Is there an easy way to mergestdinandstdout? For instance suppose I
> >havescriptthat prompts for a number and prints the number. If you
> >execute this with redirection from a file say input.txt with 42 in the
> >file, then executing
>
> >./myscript < input.txt > output.txt
>
> >the output.txt might look like this:
>
> >Enter a number:
> >You entered 42.
>
> >What I want is to have an easy way to merge input.txt and thestdout
> >so that output.txt look like:
>
> >Enter a number: 42
> >You entered 42.
>
> >Here, the first 42 is of course from input.txt.
>
> It sounds like you might be looking forscript(1)?
>
> Jean-Paul

Hi Jean-Paul,

I tried it. But stdin is not merged in with stdout. Maybe I'm using
script wrongly? This is what I've done. I have a python script y.
Here's what it looks like when I run it and I entered "sss":

$ ./y
gimme x:sss
you entered sss

Now I'm going to use the script command. I'm using an input file
input.txt that contains just the string "hello".

$ script -c "./y < input.txt" output.txt
Script started, file is output.txt
gimme x:you entered hello
Script done, file is output.txt

And when I view output.txt this is what I see:

$ less output.txt
Script started on Thu Feb  4 22:28:12 2010
gimme x:you entered hello

Script done on Thu Feb  4 22:28:13 2010

As you can see the stdin is not printed. What I'd really wanted was
something like this in output.txt:

gimme x:hello
you entered hello

-jon



More information about the Python-list mailing list