printing between two expressions using AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting printing between two expressions using AWK
# 1  
Old 03-15-2009
Java printing between two expressions using AWK

Hi,

I am trying to print lines between two expressions using AWK in the following manner
eg

ABB 10 10 20 10
10 10 10 10 10 10
11 11 11 11 11 11
11 11 11 11 11 11
ACC 10 10 10 10

awk '/ABB/,/ACC/' datafile > output. However, in my data file there are a number of occurrences of ABB and ACC; so my question is, how can I print lines, say between the forth occurrence ABB and fourth occurrence of ACC?

Any suggestions would be greatly appreciated. Smilie

Pauli
# 2  
Old 03-16-2009
can u give an example of how the output should look like. Also do u want it to run only in shell/awk or perl is also ok ?
# 3  
Old 03-16-2009
MySQL

Hi the output would be something like,

ABBA 44 44 44 44 44
L -.02 2.01 3.6
P 6.2 3.2 56 22.8
J 2.5 2.2 3.3
ACCA 44 44 44 44 44
AJJA 44 44 44 44 44
L 2.2 .2.0 2.2
P 3.3 3.2 3.3
J 2.2 .2.2 3.9
DFT 44 44 44 44 44
ABBA 44 44 44 44 44
J 3.3 2.2 2.2
P 6.8 -1.5 5.8
J-.32 .25 .32
ACCA 44 44 44 44 44

Where here, for example, I need to print whats between the second occurrence of ABBA and ACCA. I Guess Awk/Shell.

Many Thanks.
# 4  
Old 03-16-2009
Code:
awk '
   /ABB/{n++}
  n==4{flag=1}
  flag==1{print}
  /ACC/ && flag==1 {exit}
' filename

perl:
Code:
undef $/;
open $fh,"<","a.txt";
my $str=<$fh>;
my $n=4;
my @arr=split(/(ABB.*\n|ACC.*\n)/,$str);
print join "",@arr[1+($n-1)*4..3+($n-1)*4];


Last edited by summer_cherry; 03-16-2009 at 02:10 AM..
# 5  
Old 03-16-2009
MySQL

Thank you very much for your post Summer_Chrery Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk or sed or python for regular expressions ?

Linux 6.X environments (RHEL, Oracle Linux ) I could write basic shell scripts in bash. In my spare time, I was planning to learn awk or sed to deal with regular expression tasks I have to deal with. But, I gather that python is gaining popularity these days and I came to know that python has a... (5 Replies)
Discussion started by: John K
5 Replies

2. Shell Programming and Scripting

awk expressions

when I use Input command | awk '$2~/::/' 300 12:3:0 FC 15 normal 559104 525312 6:6:1* 7:6:1 600 301 12:3:1 FC 15 normal 559104 525312 6:6:1 7:6:1* 600 302 12:3:2 FC 15 normal 559104 524288 6:6:1* 7:6:1 600 303 12:3:3 FC 15... (12 Replies)
Discussion started by: vishalgoyal
12 Replies

3. Shell Programming and Scripting

Assistance required with awk and regular expressions

Hello there, I am trying to get my head around the section below of a script we use that incorporates AWK and Regular Expressions. { match($0,"The broker*");print $1,$2,$3 ":", substr($0, RSTART,RLENGTH)} I have a basic understanding of how match works, what I am struggling with is the... (2 Replies)
Discussion started by: jimbojames
2 Replies

4. Shell Programming and Scripting

Problems with reg.-expressions in a awk-search-pattern

Hi, i have some problems with regular expressions in a awk search pattern. what i want to do: i want to calculate the mean-value in the time from 00:00 to 06:00 how my data looks like: .... 04/01/13-01:40 670992 54802 80711 116460 156177 04/01/13-01:50 703725 60150 85498 ... (3 Replies)
Discussion started by: IMPe
3 Replies

5. Shell Programming and Scripting

Awk- How to extract duplicate expressions

How to extract duplicate expressions ? CD of c4 input c3 100 120 TF03_X2 + AABDDAAABDDBCBACDBBC c4 100 120 TF03_X3 + AABCDAAABDDBCBACDBBC Script awk '{ for(i=1; i<=NF; i++) if($5 == "+" && $6 ~/CD/) {print index($6,... (11 Replies)
Discussion started by: bumblebee_2010
11 Replies

6. Shell Programming and Scripting

Test Regular Expressions on Arrays in Awk

How would I test for a suffix on an element in an array? e.g. testing for /$html/ of an element array (4 Replies)
Discussion started by: ROFL
4 Replies

7. Shell Programming and Scripting

Handling regular expressions in awk

Script is: accept filename as argument(also handle CTRL+C).to check whether th file exist in the current directory,it it then using awk find the employees who are either born in 1990 or drawing a salary greater than 25000. In my database file 1st field is of id ,2nd field is name,5th field is of... (5 Replies)
Discussion started by: Priyanka Bhati
5 Replies

8. Shell Programming and Scripting

AWK Printing

i have a file and i want to print the second variable and add qoutes to it i do awk -F"|" '{print $2}' star.unl. i get the output xxxxxxx but i need the variable($2) to be in quotes.like "xxxxxxx" how do i do there please (3 Replies)
Discussion started by: tomjones
3 Replies

9. Shell Programming and Scripting

Awk regular expressions

Hi Experts, Can you please help me out for the below scenario, I have a variable length file with the fixed number of columns, in which the fields are delimited by pipe symbol (|). From that file I have to extract the lines which has the following scenario, The field1 in a... (1 Reply)
Discussion started by: chella
1 Replies

10. Shell Programming and Scripting

AWK printing

Hello, I am trying to write a formatted report into a file using .ksh script and awk. Here is the command I am trying to run echo "before awk" ${SRC_SCHEMA} echo | awk '{printf "%-20s", ${SRC_SCHEMA} }' >>$REPORT_SQL_NAME I get the following error before awk ADW awk: 0602-562 Field $()... (1 Reply)
Discussion started by: fastgoon
1 Replies
Login or Register to Ask a Question