Sponsored Content
Top Forums Shell Programming and Scripting How to prevent the pattern "^[[0m" from being written to a file ???? Post 302243998 by frozensmilz on Tuesday 7th of October 2008 03:08:13 AM
Old 10-07-2008
How to prevent the pattern "^[[0m" from being written to a file ????

Hi folks,

I am using a shell script to display the referred libraries names of any specified cpp code. Given below is the script:

shell script "grblib"
-------------------------------------------------------------------------
#!/bin/sh
# get the lines having "include" pattern
libMatch=`strMatch $1 "include"`

# check each lines
for x in $libMatch; do
tknFlag=0
libTkn=`echo $x`

# Flag to check .h extension (add new to filter them in)
hExtTknFlag=`echo $x | grep -c "\.h"`

# Common filtering based on pattern
rTknFlag=`echo $x | grep -c ">"`
dTknFlag=`echo $x | grep -c "\$include\""`
hshTknFlag=`echo $x | grep -c "#include <"`

if [ $dTknFlag -eq 1 ]; then
tknFlag=1
libTkn=`echo $libTkn | sed 's/$//g'`
libTkn=`echo $libTkn | sed 's/"//g'`
libTkn=`echo $libTkn | tr -d ";"`
else

if [ $hshTknFlag -eq 1 ] || [ $rTknFlag -eq 1 ] ; then
tknFlag=1
libTkn=`echo $libTkn | sed 's/#//g'`
libTkn=`echo $libTkn | sed 's/<//g'`
libTkn=`echo $libTkn | sed 's/>//g'`
libTkn=`echo $libTkn | sed 's/iolib\///g'`
else
hshTknFlag=`echo $x | grep -c "#include \""`
if [ $hshTknFlag -eq 1 ]; then
libTkn=`echo $libTkn | sed 's/#//g'`
libTkn=`echo $libTkn | sed 's/"//g'`
libTkn=`echo $libTkn | tr -d ";"`
else
tknFlag=0
fi
fi
fi

if [ $hExtTknFlag -eq 1 ]; then

if [ $tknFlag -eq 1 ]; then
# print the final output
echo $libTkn
fi
fi

done
-------------------------------------------------------------------------

The strMatch out puts the following from the sample.cpp file

8: // 08-06-01 JS Replaced include/dri and app with SCCS get sequence
18: #include <string.h> // String manipulation functions
19: #include <iolib/Misc.h> // Miscellaneous functions
20: $include "DriPrm.h"; // Infrastructure parameters
21: $include "DriDef.h"; // Infrastructure definitions
22: $include "GblDef.h"; // DRS global definitions
23: #include "ErrMsg.h"
24: $include "ChipImg.h"; // Chip image declarations
25: #include "MtqHdr.h" // MTQ record header
26: #include "MtqCsm.h"
27: #include "VerDef.h" // VER support functions anddefinitions

------------------------------------------------------------------------

While running the script
$grblib sample.cpp

The output comes normal and correct

string.h
Misc.h
DriPrm.h
DriDef.h
GblDef.h
ErrMsg.h
ChipImg.h
MtqHdr.h
MtqCsm.h
VerDef.h
-------------------------------------------------------------------------

But in the shell the text color after ErrMsg.h is dark grey in color, and when it is redirected to a file say tmpfile, i saw the following...

string.h
Misc.h
DriPrm.h
DriDef.h
GblDef.h
ErrMsg.h^[[0m
ChipImg.h
MtqHdr.h
MtqCsm.h^[[0m
VerDef.h

-------------------------------------------------------------------------

I have no idea from where ^[[0m is coming from....if i am right it may be due to the space after ErrMsg.h (absence of usual comment) that generates this character. Since this script is used by another one that gets the file from the library the "ErrMsg.h^[[0m" is creating trouble since it is supposed to be "ErrMsg.h"

This is the line that writes the list generated from grblib to a file
echo -e `grblib $x | tr " " "\n"` > $libFile"Lib.bas"

Since the output is not displaying ^[[0m but changing the text color alone, i need to get rid of this pattern from the name.

Kindly help.....Smilie
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Error : "No data written to object that was write locked"

Hi All, I was able to solve my previous problem (link directory)... but now i have this following problem. I have mounted a disk from other machine using "mount -F nfs" command. When i run a batch which generates some files in that drive.... after a certain number of files i get... (1 Reply)
Discussion started by: nileshkarania
1 Replies

2. HP-UX

Apache w/ "Coverity Prevent" cannot start... please hellp!

Hi, I am trying to start the apache server on 11i for Coverity Prevent using following command: # cov-start-gui --datadir /qa_home/coverity/data_dir-4.3.0 cov-internal-httpd not running. For further information, see '/qa_home/coverity/data_dir-4.3.0/logs/error_log' # the error_log... (0 Replies)
Discussion started by: prits31
0 Replies

3. Shell Programming and Scripting

how to prevent "ctrl-C" input

Hi I have a script and its execution takes 40 - 60 minutes. The script is run on the console window of the machine. Script execution should not be broken by running ctrl-C under any circumstances. Is there a way to lock the window from any user input (ctrl-C in fact) till the end of the script... (3 Replies)
Discussion started by: aoussenko
3 Replies

4. AIX

AIX - "prevent script from running twice" issue

I know about standard "ps ..|grep .. | grep -v grep" solution, but... this is different issue I have encountered in several companies I worked for. And I see this only for AIX - not HP, not Solaris, not Linux. Korn shell script is scheduled in the background (via cron /via Tivoli Scheduler or... (6 Replies)
Discussion started by: ooops
6 Replies

5. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

6. UNIX for Dummies Questions & Answers

look for file size greater than "0" of specific pattern and move those to another directory

Hi , i have some files of specific pattern ...i need to look for files which are having size greater than zero and move those files to another directory.. Ex... abc_0702, abc_0709, abc_782 abc_1234 ...etc need to find out which is having the size >0 and move those to target directory..... (7 Replies)
Discussion started by: dssyadav
7 Replies

7. Shell Programming and Scripting

awk script does not work when written as "one-liner"

In my quest to solve a bigger problem (See my previous post called "Create SQL DML insert statements from file using AWK or similar" - sorry, not allowed to post urls until I have > 5 posts) I'm trying to get my head round awk, but have some problem figuring out why the following script does work... (2 Replies)
Discussion started by: Yagi Uda
2 Replies

8. UNIX for Dummies Questions & Answers

Egrep confusion with "I" and "-I" pattern

I am executing following command egrep -w I filename.txt the filename.txt has following data .... -I 07-18 08:31:19.924 9880 6 SessionManager ConnectConfig: ConfigurationWebService LoginResults=SuccessfulLogin I am so hungry that I need to eat I expect egrep to print only the second... (1 Reply)
Discussion started by: VBG
1 Replies

9. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

10. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies
All times are GMT -4. The time now is 01:53 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy