Print Terminal Output Exactly how it Appears in the Terminal to a New Text File

Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Print Terminal Output Exactly how it Appears in the Terminal to a New Text File
# 1  
Old 04-01-2016
Print Terminal Output Exactly how it Appears in the Terminal to a New Text File

Hello All,

I have a text file containing output from a command that contains lots of escape/control characters that when viewed using vi or view, looks like jibberish. But when viewed using the cat command the output is formatted properly.

Is there any way to take the output from the cat command, exactly how it is displays in the terminal and print it to another text file...?

So basically it would be like the new text file contains the interpreted output of the first file. Almost as though I just copy and pasted the terminal output to a text file, so the new text file wouldn't show the control characters... Does that make sense?

For example:
One line from file1.txt Contains:
server           37290556^[[29G4.5    user

Then `cat` prints:
server           37290556   4.5    user

I've tried a few different things like redirection of cat, the tee command, and 'echo -e' like this:
echo -e "$(cat file.txt)" > new_file.txt

But nothing is getting me the results I'm looking for.
Each new file that gets written to from the attempts I mentioned above, contains the EXACT same data as the original file.

If anyone has ANY thoughts or suggestions, it would be greatly appreciated.!

Thanks in Advance,
# 2  
Old 04-01-2016
See if something like this might do the trick:
sed "s/$(printf '\033')"'\[[0-9;]*[[:alpha:]]/ /' file1.txt > new_file.txt

It will not preserve the exact position of characters...

Last edited by Scrutinizer; 04-01-2016 at 05:57 PM..
# 3  
Old 04-01-2016
That is because cat hides non-printing characters and to see them do cat -vet file and write a small script to remove those unwanted characters...
# 4  
Old 04-01-2016
Hey guys, thanks for the replies. Much appreciated!

The sed command gave some strange results, and with the character locations not being preserved, I won't be able to find what I'm looking for in the file.

Thanks for the info on cat, but that just shows me what non-printing characters are in there and by removing the control chars it won't preserve how the text looks when printed using just 'cat filename.txt'....

I guess maybe this isn't possible..? I thought maybe it would be since the escape sequences are just re-arranging the text (*and inserting whitespace) and I can physically see how the formatted data SHOULD look when printed in the terminal. So I guess I kind of hoped I could just capture what is actually seen in the terminal and NOT what is unseen, like escape sequences/control-characters...

Thanks Again,

---------- Post updated at 06:52 PM ---------- Previous update was at 05:41 PM ----------

To explain a little better of what I'm trying to do see below, *maybe there is a simpler way....

So what the goal is, I'm trying get the output of the AIX command "topas" into a text file so I can grab one specific value... This command is very similar to the top command where it is an interactive command which just continuously updates the terminal window with new values every 2 seconds... Since it does that, that is why the control characters show up in the text file. They use the control characters to place the values correctly on the screen.

If you redirect topas to a text file and kill it right away, and then do a vi / view of the file the values are all over the place. It seems like it shows some of the Value's labels in the correct spot but their actual values could show up 20 lines below where it would be if you just did a 'cat' on the file.

I was praying topas had a command line switch similar to top's "-b" option for batch mode, but it does not...

There is a way to record the topas command's values with the topasrec command, but the output from that is harder to understand then just using topas. And I believe you need to use something like Excel to read that file....

I guess if there isn't another way I can just do what I'm already doing and see if that Label's value shows up on the exact same line everytime... If it does, I can just hard-code it in to capture that specific line and pull out the value... But, I guess we'll see.

Thanks Again,
# 5  
Old 04-01-2016
You may be able to eliminate the escape sequences by changing the terminal type to 'dumb' so that the program uses only spaces to generate the output.
This User Gave Thanks to jgt For This Post:
# 6  
Old 04-02-2016
On linux and a virtual console, screendump will eliminate console_codes. Not sure how positioning will be influenced.

Last edited by RudiC; 04-05-2016 at 05:35 AM.. Reason: typo
This User Gave Thanks to RudiC For This Post:
# 7  
Old 04-04-2016
Hey guys, thanks for the replies.

Ok cool, I'll give that a shot and comment back.

Thanks Again,
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Cannot get terminal application to launch with a graphical launcher when successful in terminal

I have been having an extremely annoying problem. For the record, I am relatively new at this. I've only been working with unix-based OS's for roughly two years, mostly Xubuntu and some Kali. I am pretty familiar with the BASH language, as that's the default shell for debian. Now, I've made this... (16 Replies)
Discussion started by: Huitzilopochtli
16 Replies

2. Shell Programming and Scripting

Help needed editing text file using the terminal

Hi, I have text file with the header like this tracking_id condition replicate FPKM XLOC_000001 alpha 1 10.3199 XLOC_000001 alpha 0 10.3686 XLOC_000001 alpha 2 15.5619 ... With the first column being genes, the second being the condition, the third... (5 Replies)
Discussion started by: 4galaxy7
5 Replies

3. Shell Programming and Scripting

Printing Terminal Output to a Error File

I am having a bash script which is basically invoking a python program to validate the Source Query results against the target query results. I am placing all the queries in a .sql file. I want to write to a Error log file incase if the syntax is wrong or if the column is not present in the... (4 Replies)
Discussion started by: ronitreddy
4 Replies

4. UNIX for Dummies Questions & Answers

Strange behaviour when output to terminal vs file (awk)

Hi all ! I noticed something very weird. I have a large pipe delimited file (20 fields/3,000 records) that looks like that: AAA|BBB|11111|22222|...|($NF of record 1) CCC|DDD|33333|44444|...|($NF of record 2) CCC|DDD|55555|66666|...|($NF of record 3) For the lines with same 1st and 2nd... (3 Replies)
Discussion started by: beca123456
3 Replies

5. Shell Programming and Scripting

how to Redirect the output of telnet command on a terminal to a file ?

(/home/user1)-> more #!/bin/ksh ( echo open devicename sleep 3; echo user; sleep 2; echo password; sleep 2; echo "/info/dump"; ---------> This needs to redirect to a file .Can be number of pages sleep 2; echo "exit" ) | telnet Please use code tags next time for... (2 Replies)
Discussion started by: necro98
2 Replies

6. UNIX for Dummies Questions & Answers

Live/real-time text-file updates in terminal

I want to have a terminal open and have something like a "repeating cat" command running in it for a certain text file (in particular /var/log/system.log). So my terminal will scan or cat the text file every so often or whenever the text file system.log gets written to by the system, it will... (1 Reply)
Discussion started by: guitarscn
1 Replies

7. UNIX Desktop Questions & Answers

Output terminal sessions to screen and log file

I would like to use a terminal session to ssh to switches and routers. I need to capture data while logged into switches to a file I can email for troubleshooting. I use termial to log into Cisco switch, run the sh tech command, and then sent the output to cisco. Is there a way to run a... (4 Replies)
Discussion started by: tdelliott
4 Replies

8. UNIX for Advanced & Expert Users

Terminal Output to a File ??

Hey, How can I transfer the terminal output to a file ? For example : command "fuser" returns the "process-id" and prints the output on the terminal, but I want that output to a file as well. How can I do that ? /clocal/mqbrkrs/user/mqsiadm/sanjay/AccessMonitor $ fuser -uf... (2 Replies)
Discussion started by: varungupta
2 Replies

9. Solaris

terminal output - save to file?

I have a window open on my ultra 10 - a terminal window connecting to a server. Is there any way I can log all output to this window to a log file on my ultra 10 ? (2 Replies)
Discussion started by: frustrated1
2 Replies

10. UNIX for Dummies Questions & Answers

Output to terminal and file at the same time

Hi all The makefile of a large project produces hundreds of lines of output, which I can't look at any more when the build is finished. If I simply redirect the output to a file, I can't see the progress of the building process... Is there a possibility to redirect the output to a file and at... (1 Reply)
Discussion started by: Charlie
1 Replies
Login or Register to Ask a Question

Featured Tech Videos