removing tee


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting removing tee
# 1  
Old 05-03-2009
removing tee

Hi,

I have a script where i want to log in details to the standard output as well as log file so that its easy for tracing purposes.

I have used the "tee"command.

The problem with this is my scripts lines are getting longer as for each line i have

Code:
#!/bin/ksh
echo "hello world" | tee -a $log
echo "moving file' | teel -a $log
mv file1 fiel2

like this my code is more than 300 lines is there a way to get rid of tee at each line and still gets tracing and detailed logs.

Appreciate help
# 2  
Old 05-03-2009
If you like to log the details to the log file as well as display it in o/p, then you should use tee command. If you just need to redirect it to a file, then use the >> redirect operator.

If you think it is too cumbersome to type it in every line of the script, then open vi and then take it to the command mode and then

Code:
:1,$s/$/ \| tee -a \$logfile/g

the above command should be able to put the tee for you.

cheers,
Devaraj Takhellambam
# 3  
Old 05-03-2009
Quote:
Originally Posted by devtakh
If you like to log the details to the log file as well as display it in o/p, then you should use tee command. If you just need to redirect it to a file, then use the >> redirect operator.

If you think it is too cumbersome to type it in every line of the script, then open vi and then take it to the command mode and then

Code:
:1,$s/$/ \| tee -a \$logfile/g

the above command should be able to put the tee for you.

cheers,
Devaraj Takhellambam
devtakh

I can do this, but if someone views my code it looks like so many tee.
I dont want to append tee when i am using sed or awk for processing; only when i am echoing.
i thought there might be a way where i can take output of each function and output it on screen as well as in log file, without using tee at each line.
# 4  
Old 05-03-2009
You could do this: at the beginning of your script, put
Code:
tail -f $logfile &

(make sure it's empty first). Save the PID ($!), run your usual script with stdout redirected to the logfile (either by line or by exec 1>$logfile). At the end of your script, kill the tail (you saved the PID, didn't you?)
# 5  
Old 05-03-2009
Ah, I see what you mean. The best I can think of is to create a function and then use that function everytime when you need to log the o/p

Code:
echoen()
 {
 echo "$*" | tee -a logilfe
 }

Then in your script use the function instead of the keyword echo instead

Code:
echoen "My Name is Don"

cheers,
Devaraj Takhellambam
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Mindboggling difference between using "tee" and "/usr/bin/tee" in bash

I'm on Ubuntu 14.04 and I manually updated my coreutils so that "tee" is now on version 8.27 I was running a script using bash where there is some write to pipe error at some point causing the tee command to exit abruptly while the script continues to run. The newer version of tee seems to prevent... (2 Replies)
Discussion started by: stompadon
2 Replies

2. UNIX for Dummies Questions & Answers

Removing PATTERN from txt without removing lines and general text formatting

Hi Everybody! First post! Totally noobie. I'm using the terminal to read a poorly formatted book. The text file contains, in the middle of paragraphs, hyphenation to split words that are supposed to be on multiple pages. It looks ve -- ry much like this. I was hoping to use grep -v " -- "... (5 Replies)
Discussion started by: AxeHandle
5 Replies

3. Shell Programming and Scripting

Help with tee command

In the current directory , I have seven files . But when I use the following command , it lists eight files ( 7 files + file_list.xtx) ls -1 | tee file_list.xtx | while read line; do echo $line ; done Does the tee command create the file_list.xtx file first and then executes the ls -1... (1 Reply)
Discussion started by: kumarjt
1 Replies

4. Shell Programming and Scripting

tee and functions

Greetings! My apologies if this has been answered elsewhere before. What I have is a function (as below) set up to append to either an error log or info log based upon input. myLOGGER () { if ]; then logfile=$elog lastERROR="$1" #used elsewhere in my script else... (2 Replies)
Discussion started by: reid
2 Replies

5. Shell Programming and Scripting

tee + more command

script1: #!/bin/ksh more test.txt script2: calling the script1 #!/bin/ksh /tmp/script1.sh 2>&1 | tee tee.log where test.txt contains ~1200 lines. When I execute the script2 the more command does not print pagewise it goes to the end of the line, when I remove the tee command it... (4 Replies)
Discussion started by: prasad111
4 Replies

6. Shell Programming and Scripting

Using tee

I have been using the command tee to store the output to a file and also write on the terminal. However I would need to put the program in the background although I would still need to see the file being updated like it was doing when using tee. Any suggestions on how to look at the log file... (3 Replies)
Discussion started by: kristinu
3 Replies

7. Shell Programming and Scripting

tee

Someone recently advised me to use the tee command to write to standard out. Why would you pipe your commands to tee -a <filename> rather than just using >> <filename> ? For example: date|tee -a myfile seems to be the same as date >> myfile Is there a benefit to... (5 Replies)
Discussion started by: fracken_toaster
5 Replies

8. UNIX for Dummies Questions & Answers

tee

hello how to append the hostname to each line of a file that is tee'd for example: tail -f file1 | tee file2 Iwant file2 to have the same new lines of file1 but with the hostname at the end or the beginning of each line. btw, is there more proper method than: tail -f file1 | tee... (1 Reply)
Discussion started by: melanie_pfefer
1 Replies

9. UNIX for Dummies Questions & Answers

How does tee work

Greetings to everybody. I would like to know if I can use the pipe and command tee to read from edited file and to write to him e.g. "sed '{s_A_B_}' file | tee file". :confused: I know it doesn't work with > but I don't know anything about it with tee. Thank you for your help. :) (1 Reply)
Discussion started by: Foxgard
1 Replies

10. UNIX for Dummies Questions & Answers

tee problem

Hi you, This the code I have: function show_menu { echo " lalalalal" echo " 1. ...." echo " 2. ...." echo " 3. exit" read choice case $choice in 1) ... ;; 2) ...;; *) stop=1;; esac } (5 Replies)
Discussion started by: bensky
5 Replies
Login or Register to Ask a Question