Ok,
the problem is that when connected to a pipe the standard output is buffered while the standard error is never buffered.
I suppose the only way to achieve what you're asking for is to modify your program/script like this, not use pipes at all and use temporary files, sort and grep.
You want to avoid this behavior:
You could do something like this:
And then use grep to pull out what you need:
Another option is to use expect like this (notice that you still need to modify your program to distinguish error from output).
You can run your program unbuffered and then filter whatever you need:
With Perl you can control the buffering of what Perl is reading,
I don't believe you can control the buffering that the standard libcIO does because of the shell pipe.
There is also a program called pty that can do what the above expect script does.
Is there a way to send the syslog output for a given facility to stderr or stdout?
I do not want to use the "tail" command to achieve this, I would like it to go directly to stderr.
Thanks in advance (1 Reply)
In bash, I need to send the STDOUT and STDERR from a command to one file, and then just STDERR to another file. Doing one or the other using redirects is easy, but trying to do both at once is a bit tricky. Anyone have any ideas? (9 Replies)
This is about getting all output to stderr and stdout localized. Nothing to do with redirecting output to a file (there already are some interesting threads about that issue on this forum).
What I intend to do is capturing all lines of text sent to the screen, compare them with an array of... (2 Replies)
Friends
I have to redirect STDERR messages both to screen and also capture the same in a file.
2 > &1 | tee file works but it also displays the non error messages to file, while i only need error messages.
Can anyone help?? (10 Replies)
Hi,
I am trying to execute a command like this:
find ./ -name "*.gz" -exec sh -c 'zcat {} | awk -f parse.awk' \; >> output
If I want to print the filename, i generally use the -print argument to the find command but when I am redirecting the output to a file, how can I print just the... (2 Replies)
Hello
I read a lot of post related to this topic, but nothing helped me. :mad:
I'm running a ksh script with subshell what processing some ldap command. I need to check output for possible errors.
#!/bin/ksh
...
readinput < $QCHAT_INPUT |&
while read -p line
do
echo $line
... (3 Replies)
Hello all. I've been lurking here for a year or two and finally decided to post.
I need some assistance with file descriptors, stdout, and redirecting output. I've searched through a number of very helpful threads here (unfortunately I can't link to any of them yet due to my low post count...),... (2 Replies)
I have to redirect STDERR messages both to screen and also capture the same in a file but STDOUT only to the same file.
I have searched in this formum for a solution, but something like
srcipt 3>&1 >&2 2>&3 3>&- | tee errs
doesn't work for me...
Has anyone an idea??? (18 Replies)
Hi folks
I need/want to redirect output (stdout, stderr) from an exec call to separate files. One for stderr only and two(!) different (!) ones for the combined output of stderr and stdout.
After some research and testing i got this so far :
(( exec ${command} ${command_parameters} 3>&1... (6 Replies)
As a result of whiptail menu option I am getting a data from a file.
Naturally it is output to terminal as stdour.
I like to redirect the output back to the menu.
It can be done with single input of line of text , see attached.
I just cannot see where or how the sample... (0 Replies)