Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Print on terminal and into file simultaneously?

I have a shell script that greps some data.. I want to print the result into a file, but doing that prevents the result being displayed on the terminal. Is there a way that can both print the result on the screen and also write into a file. Thanks in advance.

like image 580
Xander Avatar asked Dec 02 '22 22:12

Xander


2 Answers

Pipe your output to the tee command.

Example:

[me@home]$ echo hello | tee out.txt
hello
[me@home]$ cat out.txt 
hello

Note that the stdout of echo is printed out as well as written to the file specified by thr tee command.

like image 161
Shawn Chin Avatar answered Dec 15 '22 14:12

Shawn Chin


Note you can add the -a flag to tee to append to the output file

[me@home]$ echo hello | tee out.txt
hello
[me@home]$ echo hello again | tee -a out.txt
hello again
[me@home]$ cat out.txt
hello
hello again
like image 27
J00MZ Avatar answered Dec 15 '22 13:12

J00MZ