search pattern that has spaces with nawk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting search pattern that has spaces with nawk
# 1  
Old 08-12-2011
search pattern that has spaces with nawk

Hi guys,

I need a help ! I need do grab some string from file and then count n lines after that pattern. This is working fine, but my problem is that the string to be searched has spaces within, like an example :

LINK [2] COUNTERS

what I am using is:
Code:
nawk 'c-->0;$0~\s\{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];\
print;c=a}b{r[NR%b]=$0}' b=0 a=1 s="LINK [2] COUNTERS"  <file>

but the match do not work !!! Can someone help me ?

Thanks !!!!Smilie

Last edited by vbe; 08-12-2011 at 11:50 AM.. Reason: Do you mind using code tags?
# 2  
Old 08-12-2011
robdcb, I am really having a hard time following the code you pasted; so I am not clear what the intent here is. I was able to do something similar to your description using the following code. Hope this helps.
Code:
BEGIN { b=0 }
{
    if ($0 ~ /LINK \[2\] COUNTERS/)
    {
        a=1
        b=0
    }

    #    After the line matching the pattern is found,
    #    print upto 2 lines following the matching line.

    if (a == 1 && b >= 1 && b < 3)
    {
        print b ":" $0
    } 

    b++
}

You would need to copy these lines into a file and run it with the -f option, BTW.
# 3  
Old 08-12-2011
Hi,

Use 'grep':
Code:
$ cat infile
aaaaaaaaaa                                                                                                                                                                                                                                   
bbbbbbbbb
cccccccccccccccc
dddddddddddd
eeeeeeeeeeee
LINK [2] COUNTERS
ffffffffffffffff
ggggggggggg
hhhhhhhhhhh
iiiiiiiiiii
$ grep -A 3 -F "LINK [2] COUNTERS" infile
LINK [2] COUNTERS
ffffffffffffffff
ggggggggggg
hhhhhhhhhhh

Regards,
Birei
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Grep/awk using a begin search pattern and end search pattern

I have this fileA TEST FILE ABC this file contains ABC; TEST FILE DGHT this file contains DGHT; TEST FILE 123 this file contains ABC, this file contains DEF, this file contains XYZ, this file contains KLM ; I want to have a fileZ that has only (begin search pattern for will be... (2 Replies)
Discussion started by: vbabz
2 Replies

2. Shell Programming and Scripting

Search for a substr with nawk

Hi, I have files, with fixed length fields/let's say every field 5 positions/, like this: xxxx 140 xxxxx xxxx 140 xxxxx xxxx 1400 xxxxx xxxx 150 xxxxx I need to get only the records, which have 140 in the second column. I use that command: nawk '{if (substr($0,6,3)=="140") print $0}'... (3 Replies)
Discussion started by: apenkov
3 Replies

3. Shell Programming and Scripting

nawk oneliner to find and replace a pattern

Hi, I need to replace the ip 1.1.1.1 with the name test.sol.box . I have tried and come up with following code. do we have any other way of doing this with nawk?? Data: #This is a test setup.Please enter your values and corresponding port number here ########################## Server Host... (5 Replies)
Discussion started by: chidori
5 Replies

4. Shell Programming and Scripting

Need one liner to search pattern and print everything expect 6 lines from where pattern match made

i need to search for a pattern from a big file and print everything expect the next 6 lines from where the pattern match was made. (8 Replies)
Discussion started by: chidori
8 Replies

5. Shell Programming and Scripting

problem in nawk : case insensitive pattern matching

HI, My file contains data something like 034500,5,B5004946544EB185,DEFAULT,0 Now i want to do a pettern match for DEFAULT and remove that particular line from file and transfer the rest contents to temp file.But my req is i want to do case insensitive matching ie DEFAULT / default. I... (4 Replies)
Discussion started by: centurion_13
4 Replies

6. Shell Programming and Scripting

NAWK to remove lines that matches a specific pattern

Hi, I have requirement that I need to split my input file into two files based on a search pattern "abc" For eg. my input file has below content abc defgh zyx I need file 1 with abc and file2 with defgh zyx I can use grep command to acheive this. But with grep I need... (8 Replies)
Discussion started by: sbhuvana20
8 Replies

7. Shell Programming and Scripting

Overwriting the leading spaces in NAWK

I have a file 1 1 40421 120 18421 112h 019 6 10335 03 1 1 40421 120 18422 124h 055 6 10335 03 I have wriiten a nawk statement nawk '$5 ~ "18421" {sub($7,"0190"print}' old.txt I am getting the output as 1 1 40421 120 18421 112h 0190 6 10335... (5 Replies)
Discussion started by: prav076
5 Replies

8. Shell Programming and Scripting

NAWK - seach pattern for special characters - } dbl qt - sng qt

i'm puzzled.... trying to look for the pattern }"'. but the below code returns to me the message below (pattern is curley queue + dbl qt + sng qt + period) nawk -v pat="\}\"\'\."' { if (match($0, pat)) { before = substr($0,1,RSTART-1); ... (11 Replies)
Discussion started by: danmauer
11 Replies

9. Shell Programming and Scripting

search a pattern and if pattern found insert new pattern at the begining

I am trying to do some thing like this .. In a file , if pattern found insert new pattern at the begining of the line containing the pattern. example: in a file I have this. gtrow0unit1/gctunit_crrownorth_stage5_outnet_feedthru_pin if i find feedthru_pin want to insert !! at the... (7 Replies)
Discussion started by: pitagi
7 Replies

10. Shell Programming and Scripting

nawk-how count the number of occurances of a pattern, when don't know the pattern

I've written a script to count the total size of SAN storage LUNs, and also display the LUN sizes. From server to server, the LUNs sizes differ. What I want to do is count the occurances as they occur and change. These are the LUN sizes: 49.95 49.95 49.95 49.95 49.95 49.95 49.95 49.95... (2 Replies)
Discussion started by: cyber111
2 Replies
Login or Register to Ask a Question