Regular expression query in AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Regular expression query in AWK
# 1  
Old 06-05-2006
Question Regular expression query in AWK

Hi,
I have a string like this-->"After Executing service For 10 Request"
in this string i need to extract "10".
the contents of the string is variable and "10" appears before "For" and after "Request" i.e, in this format "For x Request"
I need to extract the value of x. How to do this in AWK?

Regards,
Omprasad
# 2  
Old 06-05-2006
Try:
Code:
echo "${string}"|awk '/After Executing service For .* Request/ {VAL=$5;print VAL}'

# 3  
Old 06-06-2006
Quote:
req_no=`echo "${string}" | awk { print $5}`
Try this .....
# 4  
Old 06-06-2006
Hi,
The solution that have been proposed may not solve my problem because the position of x i.e 10 in this case may not always be 5th word in the string.
Only thing that is constant here is the pattern "For X Request".
First I need to find this pattern and then extract x from it.
# 5  
Old 06-06-2006
Use:
Code:
echo "${string}"|awk '/For .* Request/ {for (i=0;i<=NF;i++){if ($i == "For" && $(i+2) == "Request"){VAL=$(i+1)}}print VAL}'

# 6  
Old 06-06-2006
That works....thanks Klashxx.
But how to do the same inside a script file. I have the entire string in a variable. Smilie

Last edited by omprasad; 06-06-2006 at 06:38 AM..
# 7  
Old 06-06-2006
Try using expr...
Code:
a="After Executing service For 10 Request"
b=$(expr match "$a" ".*For \(.*\) Request.*")
echo $b

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk regular expression search

Hi All, I would like to search a regular expression by passing as an i/p variableto AWK. For Example :: 162.111.101.209.9516 162.111.101.209.41891 162.111.101.209.9516 162.111.101.209.9517 162.111.101.209.41918 162.111.101.209.9517 162.111.101.209.41937 162.111.101.209.41951... (7 Replies)
Discussion started by: Girish19
7 Replies

2. Shell Programming and Scripting

awk regular expression

Hello, I have big files which I wanna filter them based on first column. first column should be one of these strings: chr2L || chr2R || chr3L || chr3R || chr4 || chrX and something like chr2Lh or chrY or chrM3L is not accepted. I used the following command: awk '{ if ($1=="chr2L" ||... (5 Replies)
Discussion started by: @man
5 Replies

3. Programming

Perl: How to read from a file, do regular expression and then replace the found regular expression

Hi all, How am I read a file, find the match regular expression and overwrite to the same files. open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat"; open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat"; while (<DESTINATION_FILE>) { # print... (1 Reply)
Discussion started by: jessy83
1 Replies

4. Shell Programming and Scripting

Regular expression in AWK

Hello world, I was wondering if there is a nicer way to write the following code (in AWK): awk ' FNR==NR&&$1~/^m$/{tok1=1} FNR==NR&&$1~/^m10$/{tok1=1} ' my_file In fact, it looks for m2, m4, m6, m8 and m10 and then return a positive flag. The problem is how to define 10 thanks... (3 Replies)
Discussion started by: jolecanard
3 Replies

5. Shell Programming and Scripting

Query Regarding Regular Expression

Can you please tell me the meaning of .* For eg. i have a text as "Scrapple the apple" Now here, what does a.*e will match? (7 Replies)
Discussion started by: Shell_Learner
7 Replies

6. Shell Programming and Scripting

Awk's variable in regular expression

Anyone know how I will use awk's variable in a regular expression? This line of code of mine is working, the value PREMS should be a variable: awk '$1 ~ /PREMS/ { if(length(appldata)+2 >= length($1)) print $0; }' appldata=$APPLDATA /tmp/file.tmp The value of APPLDATA variable is PREMS. ... (2 Replies)
Discussion started by: Orbix
2 Replies

7. Shell Programming and Scripting

need help guys for Regular expression in awk

Hello Experts, Please help me to cope with the following problem I ve patterens like Input Noptx(5) // remain the same -*Nop(3); Nop(9); --Nop(8); // remain the same d3 **---Nop(7); //remain the same d3 **---Nop(7); *--Nop(6); --**Nop(5); -Nop(4); Nop(3); - represents a space... (2 Replies)
Discussion started by: user_prady
2 Replies

8. UNIX for Dummies Questions & Answers

regular expression and awk

I can print a line with an expression using this: awk '/regex/' I can print the line immediately before an expression using this: awk '/regex/{print x};{x=$0}' How do I print the line immediately before and then the line with the expression? (2 Replies)
Discussion started by: nickg
2 Replies

9. Shell Programming and Scripting

awk and regular expression

Ive got a file with words and also numbers. Bla BLA 10 10 11 29 12 89 13 35 And i need to change "10,29,89,25" and also remove anything that contains actually words... (4 Replies)
Discussion started by: maskot
4 Replies

10. Shell Programming and Scripting

Regular expression query in AWK

I have a varable(var1) in a AWK script that contain data in the following format - I need to extract timestamp,priority and log message.I can extract these by using split function but i don't want to use it, since i want to extract it in one go. I have some difficulties in doing it using... (3 Replies)
Discussion started by: omprasad
3 Replies
Login or Register to Ask a Question