awk: last occurance


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk: last occurance
# 1  
Old 01-02-2007
Question awk: last occurance

Hi All,

I need to extract the last occurance of a pattern match. So far I've got the code below which extracts the first occurance. Any ideas how I can modify it so that it extracts the last?

Code:
BEGIN {}                        
{                               
   if (data[$2]++ == 0)         
      lines[++count] = $0       
}                               
END {                           
    for (i = 1; i <= count; i++)
        print lines[i]          
}

Thanks in advance,

p.
# 2  
Old 01-02-2007
could you paste an example what exactly you are looking for?
# 3  
Old 01-02-2007
how abt if you serach you pattern first and then use awk to print last line/last field?
Or
simply add your search algorithm in the statment section of awk instead of having it in BEGIN section. Not sure about your requirement but above are the possibilities as far as I could understand the question.

--Manish
# 4  
Old 01-02-2007
Quote:
Originally Posted by pondlife
Hi All,

I need to extract the last occurance of a pattern match. So far I've got the code below which extracts the first occurance. Any ideas how I can modify it so that it extracts the last?

Code:
BEGIN {}                        
{                               
   if (data[$2]++ == 0)         
      lines[++count] = $0       
}                               
END {                           
    for (i = 1; i <= count; i++)
        print lines[i]          
}

Thanks in advance,

p.
Code:
{  
   lines[$2] = $0                                 
}                               
END {                           
    for (i in lines)
        print lines[i]          
}

# 5  
Old 01-02-2007
Don't care about what i've said ... i've misred the original post
# 6  
Old 01-02-2007
Quote:
Originally Posted by becket
Don't care about what i've said ... i've misred the original post
hmmmmmm..... intersting - did you say anything on this thread at all?
# 7  
Old 01-02-2007
yes, but i've edited it
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Extract only first occurance

Hi All, From the below file. I need to get only the first occurrence and print. I tried to do it in separate grep not coming as expected Original file 11001;1213;304;;;;;;;111020677.64;;;;;;;;;;;;;;;;;;;;;;;;;; 11001;1214;304;;;;;;;102376462.96;;;;;;;;;;;;;;;;;;;;;;;;;;... (5 Replies)
Discussion started by: arunkumar_mca
5 Replies

2. Shell Programming and Scripting

Trying to grep for '--' occurance

Hello Im trying to grep for a string in grub.conf . I've used the -F option since its a long string, but when i execute, i run into errors. Script and output below. GRUBPASSWD="password --md5 xyz" if grep -Fxq $GRUBPASSWD /etc/grub.conf then . . output: grep: unrecognized option... (5 Replies)
Discussion started by: bludhemn
5 Replies

3. Shell Programming and Scripting

awk to replace second occurance

#original file . . ~ ~ Index=2 xxx replace #dont replace 1st occurance yyy Index=2 xxx replace #substitue replace with "REPLACE" yyy Index=2 xxx replace #substitue replace with "REPLACE" yyy Index=3 xxx replace (3 Replies)
Discussion started by: cjjoy
3 Replies

4. Shell Programming and Scripting

First occurance

A PERL script that prints just the first occurrence of a string in a file and immediately exits (the string and the filename are the first and the second command line arguments; I used filehandle to open an input file). (1 Reply)
Discussion started by: aadi_uni
1 Replies

5. Shell Programming and Scripting

Count the Consecutive Occurance of "X" in awk

Hi All, I have a data as follow: 0 0 0 X X 0 X X X 0 X 0 0 X 0 0 (16 Replies)
Discussion started by: nica
16 Replies

6. Shell Programming and Scripting

How can I match lines with just one occurance of a string in awk?

Hi, I'm trying to match records using awk which contain only one occurance of my string, I know how to match one or more (+) but matching only one is eluding me without developing some convoluted bit of code. I was hoping there would be some simple pattern matching thing similar to '+' but... (9 Replies)
Discussion started by: jonathanm
9 Replies

7. Shell Programming and Scripting

Split on last occurance

I want to call a script like this: ./somescript some-thing.knows.what.ending Inside the script it needs to split at last .(period) so I can: a=some-thing.knows.what b=ending I know I can do it in perl but im still learing awk and sed. Thanks (3 Replies)
Discussion started by: Ikon
3 Replies

8. Shell Programming and Scripting

How to insert values in 1st occurance out of two occurance in a file

Hi I have a file which contains the following two lines which are same But I would like to insert the value=8.8.8.8 in the 1st occurance line and value=9.9.9.9 in the 2nd occurance line. <parameter name="TestIp1" value=""> <parameter name="TestIp1" value=""> Please suggest (1 Reply)
Discussion started by: madhusmita
1 Replies

9. Shell Programming and Scripting

awk array - first and last occurance

What I'm trying to do is, using awk, loading the log file into an array matching column 2, counting the match and finding the first occurance and last occurance of column 1 being it a date. 08052006:AAA 08052006:AAA 08052006:BBB 09052006:AAA 15052006:BBB 11052006:CCC 19052006:CCC... (5 Replies)
Discussion started by: ping
5 Replies

10. Shell Programming and Scripting

Removing the last occurance of string

I have a small query. I have a file containing the following lines abcd<12></12>fdfgdf<12>sdfgfg<12> sdfsdf<12></12>ytunfg<12> hggfhf<12>rtysb<12>zdfgdfg<12> Now I wish to delete ONLY the last occurance of string <12> from every lines of code. That mease my final output will be like this:... (7 Replies)
Discussion started by: dkhanna01
7 Replies
Login or Register to Ask a Question