05-12-2016
You can't have your cake and eat it. The exit code of a program is available when the program is finished running. The output redirection has to be done before the program produces its output.
You could try to write a wrapper around your program, which catches it standard output internally, and after the program is executed, decides what to do with it. Such a wrapper could, for example, be written with `expect`, if the output is large, or you can stuff it into a shell variable. Of course in both cases it means that the interim output is stored somewhere, be it in a variable or in a file.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
hi
i am running script which contains the commmnds and i am redirecting the script output to a file.
like
./script 1> result.txt 2>&1
the above redirection is not working for commands when run in background in a script.
but the problem here result.txt containg output which is repeated.... (3 Replies)
Discussion started by: raji
3 Replies
2. UNIX for Dummies Questions & Answers
Suppose I have a file named a
When I write
cat a>a
The following error message is displayed
cat: a: input file is output file
and my file a is truncated to zero size.
Also the exit status of the last command is 1
Can someone tell me what actually happens when I do so? (1 Reply)
Discussion started by: aagajaba
1 Replies
3. Shell Programming and Scripting
I want to redirect output of my script to two logfiles.
I tried this :
./run.sh -c APP | tee >(grep " " > AppLogs.log) >(grep "XYZ" > xyz.log) >dev/null
but this does not solve my purpose because logfile xyz.log remains empty untill i stop my script, i want both files, AppLogs.log and... (4 Replies)
Discussion started by: cmdup
4 Replies
4. Shell Programming and Scripting
I'm redirecting the output of a command to a logfile, however, if the user is on a terminal I would also like the output to be displayed on the screen.
tar tvf some_tarfile >Logfile
if the user is on a term then have the output to the Logfile and also be displayed on the screen at the same... (2 Replies)
Discussion started by: nck
2 Replies
5. Shell Programming and Scripting
Hi there
I have a script that runs but it outputs everything onto the screen instead of a file.
I've tried using the > outputfile.txt however all it does is dump the output to the screen and creates an outputfile.txt but doesn't put anything in that file.
Any help would be appreciated
... (6 Replies)
Discussion started by: kma07
6 Replies
6. Shell Programming and Scripting
We have an application here that does some table queries and then prints the result on screen. I do not have the code of this application (which i will just call "queryCommand"), but what it does is that you call it with some parameters and it prints some info about the query and then the... (5 Replies)
Discussion started by: jolateh
5 Replies
7. UNIX for Dummies Questions & Answers
Hello i am trying to write a script that will redirect the output to a certain file. Here is the code so far:
#!/bin/bash
ps -e | sort | more > psfile
When I execute the script nothing happens since i assume the output was redirected to the file called psfile. When I try to look at the... (1 Reply)
Discussion started by: mfruiz34
1 Replies
8. Shell Programming and Scripting
Hi
I am making a script where i want to redirect the output of ls -l to a file
Example
#ls -l fil1.txt > /opt/temp/a.txt
ac: No such file or directory
I want to capture output of this command
like here output is
ac: No such file or directory
can anyone help (4 Replies)
Discussion started by: anish19
4 Replies
9. Shell Programming and Scripting
Hi all
I was wondering if there was a slicker way of doing this without the file -
awk '{print $2}' FS=":" "${FILE}" > "${TMPFILE}"
{
read M_GRP_ID || m_fail 1 "Error: Read failed 1 (${FUNCNAME})"
read M_GRP_WAIT || m_fail 1 "Error: Read failed 2 (${FUNCNAME})"
}... (6 Replies)
Discussion started by: steadyonabix
6 Replies
10. Shell Programming and Scripting
Hello,
How can I use a conditional to produce an output file that varies with respect to the contents of column #4 in the data file:
Data file:
9780020080954 9.95 0.49 AS 23.3729
9780020130857 9.95 0.49 AS 23.3729
9780023001406 22.20 0.25 AOD ... (12 Replies)
Discussion started by: palex
12 Replies
LEARN ABOUT LINUX
annotate-output
ANNOTATE-OUTPUT(1) General Commands Manual ANNOTATE-OUTPUT(1)
NAME
annotate-output - annotate program output with time and stream
SYNOPSIS
annotate-output [options] program [args ...]
DESCRIPTION
annotate-output will execute the specified program, while prepending every line with the current time and O for stdout and E for stderr.
OPTIONS
+FORMAT
Controls the timestamp format, as per date(1). Defaults to "%H:%M:%S".
-h, --help
Display a help message and exit successfully.
EXAMPLE
$ annotate-output make
21:41:21 I: Started make
21:41:21 O: gcc -Wall program.c
21:43:18 E: program.c: Couldn't compile, and took me ages to find out
21:43:19 E: collect2: ld returned 1 exit status
21:43:19 E: make: *** [all] Error 1
21:43:19 I: Finished with exitcode 2
BUGS
Since stdout and stderr are processed in parallel, it can happen that some lines received on stdout will show up before later-printed
stderr lines (and vice-versa).
This is unfortunately very hard to fix with the current annotation strategy. A fix would involve switching to PTRACE'ing the process.
Giving nice a (much) higher priority over the executed program could however cause this behaviour to show up less frequently.
The program does not work as well when the output is not linewise. In particular, when an interactive program asks for input, the question
might not be shown until after you have answered it. This will give the impression that the annotated program has hung, while it has not.
SEE ALSO
date(1)
SUPPORT
This program is community-supported (meaning: you'll need to fix it yourself). Patches are however appreciated, as is any feedback (posi-
tive or negative).
AUTHOR
annotate-output was written by Jeroen van Wolffelaar <jeroen@wolffelaar.nl> This manpage comes under the same copyright as annotate-output
itself, read /usr/bin/annotate-output (or wherever you install it) for the details.
DEBIAN Debian Utilities ANNOTATE-OUTPUT(1)