Extract value from a text


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Extract value from a text
# 1  
Old 06-08-2010
Extract value from a text

Hi all,
my problem is extract a value from a text, i mean, I have this text:

> ala
Code:
Nr of active alarms are: 16
================================================================================================
Sever Specific Problem                    Cause                     Mo-Reference
================================================================================================
Maj   DcDevice_DeviceDisabled             replaceable_unit_problem  Pool=DcDevice,DcDevice=51 
Maj   NbapDedicated_RncRbsControlLinkDown transmission_error        Iub=012,NbapDedicated=1 
Maj   NbapDedicated_RncRbsControlLinkDown transmission_error        Iub=586,NbapDedicated=1 
Maj   Cell_ServiceUnavailable        unavailable               Cell=012U1   
Maj   Cell_ServiceUnavailable        unavailable               Cell=012U2   
Maj   Cell_ServiceUnavailable        unavailable               Cell=012U3   
Maj   Cell_ServiceUnavailable        unavailable               Cell=586U1   
Maj   Cell_ServiceUnavailable        unavailable               Cell=586U2   
Maj   Cell_ServiceUnavailable        unavailable               Cell=586U3   
Warn  Cell_NbapReconfigurationFailure performance_degraded      Cell=032V2   
Warn  Cell_NbapReconfigurationFailure performance_degraded      Cell=727U1   
Warn  Cell_NbapReconfigurationFailure performance_degraded      Cell=727U2   
Warn  Cell_NbapReconfigurationFailure performance_degraded      Cell=727U3   
Warn  VC ete Alarm Indication Signal      alarm_indication_signal   VccTp=011
Warn  VC ete Alarm Indication Signal      alarm_indication_signal   VccTp=322 
>>> Total: 16 Alarms (0 Critical, 9 Major)




I want to extract the line where "Total: 16 Alarms" is shown and extract the two value into (), e.g. (0 Critical, 9 Major) and use the two value, in this case 0 and 9 as a var.

Can anybody help me?

Thank you!

Last edited by radoulov; 06-08-2010 at 07:32 AM.. Reason: Added code tags!
# 2  
Old 06-08-2010
Code:
awk '{ if($0 ~ /^>>>/) {print substr($5, 2), $7)} }' inputfile | read var1 var2
echo "var1= $var1  var2= $var2"

# 3  
Old 06-08-2010
Code:
# eval $(awk -F'[()]' '/Total:/{split($2,a,",| ");print a[2]"="a[1]";"a[5]"="a[4]}' file)
# echo $Critical
0
# echo $Major
9

This User Gave Thanks to danmero For This Post:
# 4  
Old 06-08-2010
tried out without awk

I agree the above solution are indeed "neat" , but as I am not an expert in awk, so just tried it with simple cut way -

Code:
inpLine=`grep -h ">>>" sampleFile`

#to extract "Total: 16 Alarms"
varTotal=`echo $inpLine | cut -d"(" -f1 | sed -e "s/>>> //g"`

#to extract value of critical in $valCrit
varCrit=`echo $inpLine |cut -d"(" -f2 | cut -d")" -f1 | cut -d"," -f1`
valCrit=`echo $varCrit | cut -d" " -f1`

#to extract value of major in $varMajor
varMajor=`echo $inpLine |cut -d"(" -f2 | cut -d")" -f1 | cut -d"," -f2`
valMajor=`echo $varMajor | cut -d" " -f1`

# 5  
Old 06-08-2010
Quote:
Originally Posted by gini32
I agree the above solution are indeed "neat" , but as I am not an expert in awk
You can be , just take time and practice Smilie

Quote:
Originally Posted by gini32
so just tried it with simple cut way -
Maybe you are not aware of Useless Use of Cat Award Smilie
# 6  
Old 06-08-2010
Useless Use of Comment

Quote:
Originally Posted by danmero
Maybe you are not aware of Useless Use of Cat Award Smilie
CUT != CAT
This User Gave Thanks to dr.house For This Post:
# 7  
Old 06-08-2010
Thank you guys, a very good lesson! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Extract pattern from text

Hi all, I got a txt here and I need to extract all D 8888 44 and D 8888 43 + next field =",g("en")];f._sn&&(f._sn= "og."+f._sn);for(var n in f)l.push("&"),l.push(g(n)),l.push("="),l.push(g(f));l.push("&emsg=");l.push(g(d.name+":"+d.message));var m=l.join("");Ea(m)&&(m=m.substr(0,2E3));c=m;var... (5 Replies)
Discussion started by: stinkefisch
5 Replies

2. Shell Programming and Scripting

Extract text between two strings

Hi, I have a text like these: ECHO "BEGGINING THE SHELL....." MV FILE1 > FILE2 UNIQ_ID=${1} PARTITION_1=`${PL}/Q${CON}.KSH "SELECT ....." PARTITION_2=`${PL}/Q${CON}.KSH "SELECT ........" ${PL}/Q${CON}.KSH "CREATE ...." IF .... ....... I would like to extract only text that only... (4 Replies)
Discussion started by: mierdatuti
4 Replies

3. Shell Programming and Scripting

Extract a block of text

Hello all, I am working on a script which should parse a large file called input.txt which contains table definitions, index definitions and comments like these ones: ------------------------------------------------ -- DDL Statements for table "CMWSYS"."CMWD_TEC_SUIVI_TRT"... (12 Replies)
Discussion started by: kiki_riki_miki
12 Replies

4. Shell Programming and Scripting

Extract text from string

Dear community, I know, this is very stupid question, but I'm scratching my head to find a solution. I have a variable like this: var=" INFO : ABCDEFG"Now I need to remove the leading spaces and output the result like: echo "FIELD1 ; FIELD2 ; $RESULT ; FIELD4" ... (17 Replies)
Discussion started by: Lord Spectre
17 Replies

5. Shell Programming and Scripting

Extract text between two strings

Hi I have something like this: EXAMPLE 1 CREATE UNIQUE INDEX "STRING_1"."STRING_2" ON "BOSNI_CAB_EVENTO" ("CD_EVENTO" , "CD_EJECUCION" ) PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 5242880 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "DB1000_INDICES_512K"... (4 Replies)
Discussion started by: chrispaz81
4 Replies

6. Shell Programming and Scripting

How to Extract text between two strings?

Hi, I want to extract some text between two strings in a line i am using following command i.e; awk '/-string1/,/-string2/' filename contents of file is--- line1 line2 aaa -bbb -ccc -string1 c,d,e -string2 line4 but it is showing complete line which is having searched strings. aaa... (19 Replies)
Discussion started by: emresearch
19 Replies

7. Shell Programming and Scripting

extract text from a file

I have been reading several posts regarding how to extract text from a file, but none of those have helped me for what I need. This is my problem: I need to extract the text after my pattern So my line is: 485.74 6589.5 Log likelihood: 1485.79 My pattern is 'Log likelihood:' and I need... (2 Replies)
Discussion started by: loperam
2 Replies

8. Shell Programming and Scripting

Extract particular text

I executed a following sed command => echo "a/b/c/d/e/f/g/h" | sed 's/\/*$//g' a/b/c/d/e/f/g Now what if I want to extract "g" from "a/b/c/d/e/f/g/h" . That is second last string using SED. (4 Replies)
Discussion started by: Shell_Learner
4 Replies

9. Programming

c program to extract text between two delimiters from some text file

needa c program to extract text between two delimiters from some text file. and then storing them in to diffrent variables ? text file like 0: abc.txt ========= aaaaaa|11111111|sssssssssss|333333|ddddddddd|34343454564|asass aaaaaa|11111111|sssssssssss|333333|ddddddddd|34343454564|asass... (7 Replies)
Discussion started by: kukretiabhi13
7 Replies

10. UNIX for Advanced & Expert Users

extract text b/w two delimiters

I have an input file which looks like " @$SCRIPT/atp_asrmt_adj.sql $SCRIPT/dba2000.scr -s / @$SCRIPT/cim1005w.pls $SCRIPT/dba2000.scr -s / @$SCRIPT/cim1006w.pls start $SCRIPT/cim1020d.sql;^M spool $DATA/cim1021m.sql @$DATA/cim1021m.sql ! rm $DATA/cim1021m.sql spool $DATA/cim1021m.sql... (6 Replies)
Discussion started by: dowsed4u8
6 Replies
Login or Register to Ask a Question