Finding the line number of matching braces


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Finding the line number of matching braces
# 1  
Old 10-05-2008
Finding the line number of matching braces

Hi,I am new to shell scripting and i want to find the line numbers of matching braces.

The file contents are as follows

File XXX.dat

1 ( CLASS "FRUIT"
2 (TYPE "PERSISTENT")
3 (MESSAGE_TYPE "M")
4 (GET_REQRD "Y")
5 (SET_REQRD "Y")
6 )
7 ( CLASS "VEGETABLES"
8 (TYPE "PERSISTENT")
9 (MESSAGE_TYPE "N")
10 (GET_REQRD "N")
11 )
12 ( CLASS "SEED"
13 (TYPE "PERSISTENT")
14 (MESSAGE_TYPE "N")
15 (SET_REQRD "N")
16 )


Now I want to get the line numbers 7and 11 that matches braces of class
"VAGETABLES". 7 is the line number of starting brace of class "VEGETABLES" and 11 is the line number of ending brace of CLASS "VEGETABLES".I want the starting and ending line number to be stored in two different variables,say START_LINE_NUMBER and END_LINE_NUMBER.
Can you please help me? Smilie
# 2  
Old 10-05-2008
Code:
eval "$(
   awk '/"VEGETABLES"/ {
     printf "start=%d\n", NR; n = 1d", NR; n = 1
   }
/^)$/ && n == 1 {
     printf "end=%d\n", NR; exit
 }' )"

# 3  
Old 10-06-2008
Thank u for ur replu..Its workingSmilie
# 4  
Old 10-07-2008
try below perl script



Code:
$class=shift;
open (FH,"<filename") or die "Can not open file!";
while(<FH>){
	if(m/$class/){
		print "Starting ",$.,"\n";
		$flag=1;
	}
	if(m/^\)/ && $flag==1){
		print "Ending ",$.,"\n";
		$flag=0;
	}
}
close(FH);

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

help for fast way of finding line number for a regex

Hello, I am trying to find out the line numbers where regex match and put them into a file with below command: awk '/'$pat'/ {print NR}' $fileName >> temp.txt where $pat is the regex but this command is taking a lot of time to execute with bigger files for size more than 5000000... (8 Replies)
Discussion started by: JoeColeEPL9
8 Replies

2. Shell Programming and Scripting

finding the line number of a particular line in a file

Hi Frnds, I need to find the line number of a particular line in a file and store that line number to a variable. if a file named myfile contains following look at the sun look at the moon look at the star look at the ocean i need to get the line number of the line 'look at the... (3 Replies)
Discussion started by: mvignesh
3 Replies

3. Shell Programming and Scripting

Finding the line with the exact same number

Hello All, What i am doing is , i tail a file from certain chatacter and then cat -n to get the line numbers.I search for a particular string and gets it line number. What i am interested in is the next line immediately after the pattern i search. But grep gives me result for all line... (5 Replies)
Discussion started by: kailash19
5 Replies

4. Shell Programming and Scripting

find out line number of matching string using grep

Hi all, I want to display line number for matching string in a file. can anyone please help me. I used grep -n "ABC" file so it displays 6 ABC. But i only want to have line number,i don't want that it should prefix matching context with line number. Actually my original... (10 Replies)
Discussion started by: sarbjit
10 Replies

5. Shell Programming and Scripting

Finding line with highest number in a file

Hi All, My file looks some thing like this, File 1: - A 10 B 30 C 5 D 25 E 72 F 23 now my requirement is to find the line with highest number in it, i;e the result should be E 72 Thanks in Advance (1 Reply)
Discussion started by: balu_puttaganti
1 Replies

6. Shell Programming and Scripting

finding the number of occurence of a word in a line

suppose i have this line abs|der|gt|dftnrk|dtre i want to count the number of "|" in this line.. how can i do that. plz help:confused: (9 Replies)
Discussion started by: priyanka3006
9 Replies

7. Shell Programming and Scripting

Select block of text around matching braces

Hi, I have several block of text that I need to select, however this text may be spread over several lines and contains the '{' and '}' within it. For e.g., ABC=100{ DEF = 200 { GHI, JKL } } #2nd Block 123 { 456{78,910}} }I am trying to figure out how to remove... (2 Replies)
Discussion started by: BootComp
2 Replies

8. Shell Programming and Scripting

Finding opening and closing braces

I am reading a cpp file thru shell script . There are many fuctions inside the cpp file eg pvvd_fncn_name1 { ..... something } pvvd_fncn_name2 { ..... something } what I require is a method to find the first opening brace and the coresponding last brace and search... (2 Replies)
Discussion started by: ultimatix
2 Replies

9. Shell Programming and Scripting

finding the line number from a grep ?

Hi there does anybody know how i can get the line number from an entry or entries in a file ?? for example if i had a file test1 test2 test3 test1 and i needed to get the line numbers for all instances of test1 in that file with the answer being (1,4) Would anybody be able... (7 Replies)
Discussion started by: hcclnoodles
7 Replies

10. Shell Programming and Scripting

how to find matching braces using sed or in shell script

hi, I want to print all the lines between the matching braces. For example,the file contains like the below. asdfsdf fsdfsd WO{ w1{ ada ... (3 Replies)
Discussion started by: Boopesh
3 Replies
Login or Register to Ask a Question