Sponsored Content
Top Forums Shell Programming and Scripting Removing Colors and ^M in a log file Post 302887478 by Don Cragun on Friday 7th of February 2014 07:53:26 PM
Old 02-07-2014
In this posting, all appearances of the string <ESC> is a visual representation of the escape control character and <NUMBER> is a string of 1 or more decimal digits.

I'm not sure what the escape sequence:
Code:
<ESC>%G

is supposed to do, but the following script removes them. The escape sequences of the form:
Code:
<ESC>[<NUMBER>;<NUMBER>m

change the background or foreground color (only the foreground color is affected by your sample file). The following script removes them. The escape sequence:
Code:
<ESC>[60G

moves the cursor to output column 60 before printing the following text. A much more complicated script could evaluate what has already been output and match this behavior. The following simple script just removes them.

And, as requested, this script removes all carriage return control characters from the file:
Code:
CR=$(printf "\r")
ESC=$(printf "\e")
sed "s/$ESC\[[^Gm]*[Gm]//g;s/$ESC%G//g;s/$CR//g" boottest.log

If you weren't aware that there were escape control characters in your file, look at it using:
Code:
od -bc boottest.log

Assuming you're on a machine where ASCII is a subset of the code set underlying your current locale, the escape character will appear as the string 033.
 

9 More Discussions You Might Find Interesting

1. UNIX Desktop Questions & Answers

colors

Hello, I am somewhat new to linux. I just installed Red Hat 7.2 and when I try to load gnome or KDE in colors above 8bit it will kind of lock up and display some wierd scrambled cable look. I have an ATI Radeon 7000. I check out my monitor settings they are fine. Is it the graphics card? I set my... (1 Reply)
Discussion started by: Sage3k
1 Replies

2. UNIX for Dummies Questions & Answers

Colors

Is there a way with the bourne shell to have different types of files show up a different color when you do ls? (1 Reply)
Discussion started by: resullivan
1 Replies

3. Shell Programming and Scripting

Removing duplicates from log file?

I have a log file with posts looking like this: -- Messages can be delivered by different systems at different times. The id number is used to sort out duplicate messages. What I need is to strip the arrival time from each post, sort posts by id number, and reattach arrival time to respective... (2 Replies)
Discussion started by: Ilja
2 Replies

4. Shell Programming and Scripting

Text file colors

Hi everyone. I want to create a text file using different colors, but i dont know how to do that. I just can set the color for the -screen- output, using. for example: printf "\033[32m" printf "%-20s\n" "Orange colour" printf "\033[mo" but if i redirect the second line output to a text file,... (1 Reply)
Discussion started by: datinksy
1 Replies

5. Shell Programming and Scripting

Removing a pattern from a log file

I want to remove lines containing a tag from a log file. cat file.log | awk '!/ ${pattern} /' I want to pass a pattern as an argument to a csh script, that will then apply the removal of those lines. For example passing the pattern (DIAG) should remove all lines having (DIAG). (3 Replies)
Discussion started by: kristinu
3 Replies

6. UNIX for Advanced & Expert Users

Removing Old log files from Linux

Dear Friends, I want to remove the 10 days old log files from paticular directory. I want to use some other command for removing the old log files other than find command. Because in our system find command is taking too much of time to remove the old files. Kindly give me the solution... (3 Replies)
Discussion started by: rekha_sri
3 Replies

7. Shell Programming and Scripting

PERL "filtering the log file removing the duplicates

Hi folks, I have a log file in the below format and trying to get the output of the unique ones based on mnemonic IN PERL. Could any one please let me know with the code and the logic ? Severity Mnemonic Log Message 7 CLI_SCHEDULER Logfile for scheduled CLI... (3 Replies)
Discussion started by: scriptscript
3 Replies

8. Shell Programming and Scripting

Archiving or removing few data from log file in real time

Hi, I have a log file that gets updated every second. Currently the size has grown to 20+ GB. I need to have a command/script, that will try to get the actual size of the file and will remove 50% of the data that are in the log file. I don't mind removing the data as the size has grown to huge... (8 Replies)
Discussion started by: Souvik Patra
8 Replies

9. Shell Programming and Scripting

Help needed in sending file content with colors and borders

HI i am running a shell script in cron and storing the output of that script in a file say test.then i am copying the content of test to test1 and i will send the output of test to some email ids using mutt. Next time when the script executes i am comparing the contents of test and test1 and... (3 Replies)
Discussion started by: venkitesh
3 Replies
COL(1)							    BSD General Commands Manual 						    COL(1)

NAME
col -- filter reverse line feeds from input SYNOPSIS
col [-bfhpx] [-l num] DESCRIPTION
The col utility filters out reverse (and half reverse) line feeds so that the output is in the correct order with only forward and half for- ward line feeds, and replaces white-space characters with tabs where possible. This can be useful in processing the output of nroff(1) and tbl(1). The col utility reads from the standard input and writes to the standard output. The options are as follows: -b Do not output any backspaces, printing only the last character written to each column position. -f Forward half line feeds are permitted (``fine'' mode). Normally characters printed on a half line boundary are printed on the fol- lowing line. -h Do not output multiple spaces instead of tabs (default). -l num Buffer at least num lines in memory. By default, 128 lines are buffered. -p Force unknown control sequences to be passed through unchanged. Normally, col will filter out any control sequences from the input other than those recognized and interpreted by itself, which are listed below. -x Output multiple spaces instead of tabs. In the input stream, col understands both the escape sequences of the form escape-digit mandated by Version 2 of the Single UNIX Specification (``SUSv2'') and the traditional BSD format escape-control-character. The control sequences for carriage motion and their ASCII values are as follows: ESC-BELL reverse line feed (escape then bell). ESC-7 reverse line feed (escape then 7). ESC-BACKSPACE half reverse line feed (escape then backspace). ESC-8 half reverse line feed (escape then 8). ESC-TAB half forward line feed (escape than tab). ESC-9 half forward line feed (escape then 9). In -f mode, this sequence may also occur in the output stream. backspace moves back one column (8); ignored in the first column carriage return (13) newline forward line feed (10); also does carriage return shift in shift to normal character set (15) shift out shift to alternate character set (14) space moves forward one column (32) tab moves forward to next tab stop (9) vertical tab reverse line feed (11) All unrecognized control characters and escape sequences are discarded. The col utility keeps track of the character set as characters are read and makes sure the character set is correct when they are output. If the input attempts to back up to the last flushed line, col will display a warning message. ENVIRONMENT
The LANG, LC_ALL and LC_CTYPE environment variables affect the execution of col as described in environ(7). EXIT STATUS
The col utility exits 0 on success, and >0 if an error occurs. SEE ALSO
colcrt(1), expand(1), nroff(1), tbl(1) STANDARDS
The col utility conforms to Version 2 of the Single UNIX Specification (``SUSv2''). HISTORY
A col command appeared in Version 6 AT&T UNIX. BSD
May 10, 2015 BSD
All times are GMT -4. The time now is 06:15 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy