Visit Our UNIX and Linux User Community


Help in retrieving the ending line numbers of the functions


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help in retrieving the ending line numbers of the functions
# 1  
Old 06-10-2011
Bug Help in retrieving the ending line numbers of the functions

Hi! I've a C file which consist of many function definitions with numbers at the beginning as shown below..

Code:
10 void search()
11 {
12 /*body
14 *
15 *
17 *
18 *
40 *
42 *
60 }
90 void func_name()
95 {
99 /*body
100 *
105 *
111 *
112 *
130 *
135 }

I need to retrive the number at which the function begins and ends..
I mean the function 'search' begins at number 10 and ends at number 60.
In the same way the function 'fun_name()' begins at number 90 and ends at 135..
I can somehow get the beginning line number of the functions using grep..
But how can I get the ending line number??
Note: The numbers used will not be in the order, and there might be many opening and closing braces in the functions..

How can I do it??
Thanks in advance.. Smilie
# 2  
Old 06-10-2011
Can you post/attach a sample input file for testing. And you will have to do like parsing way than just using grep, using grep may not cover exactly what we are looking for.
# 3  
Old 06-10-2011
Try:
Code:
awk '/\(\)/&&i==0;/{/{i++}/}/&&i--&&i==0' file

# 4  
Old 06-10-2011
Quote:
Originally Posted by kumaran_5555
Can you post/attach a sample input file for testing. And you will have to do like parsing way than just using grep, using grep may not cover exactly what we are looking for.
Sample file for what??
# 5  
Old 06-10-2011
I hope the sample you have posted here doesn't cover all the cases, so we need big file to test our logic.
# 6  
Old 06-12-2011
Hi sorry couldn't reply.. Was on an educational trip.. Ya check the attachment for the sample program..
# 7  
Old 06-12-2011
Quote:
Originally Posted by abk07
Hi sorry couldn't reply.. Was on an educational trip.. Ya check the attachment for the sample program..
Did you try my code posted above? I'll repost it...
Code:
awk '/\(\)/&&i==0;/{/{i++}/}/&&i--&&i==0' file

This User Gave Thanks to bartus11 For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #451
Difficulty: Easy
In a 2012 online poll at Lifehacker, Linux Mint was voted the second best Linux distribution, after Ubuntu.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove '.' from file for numbers ending in '.'

Hi, I have numerous files which have data in the following format A|B|123.|Mr.|45.66|33|zz L|16.|33.45|AC.|45. I want to remove decimal point only if it is last character in a number. O/p should be A|B|123|Mr.|45.66|33|zz L|16|33.45|AC.|45 I tried this sed -e 's/.|/|/g' Problem... (6 Replies)
Discussion started by: wahi80
6 Replies

2. UNIX for Advanced & Expert Users

Pring starting and ending numbers using UNIX

Hi all, I need to do scrip for printing starting and ending numbers along with count in given file.:wall: Input: a.txt 10000030 10000029 10000028 10000027 10000026 10000024 10000023 10000021 10000018 10000018 10000017 10000016 10000015 10000014 (2 Replies)
Discussion started by: jackbell2013
2 Replies

3. UNIX for Dummies Questions & Answers

Sorting files ending in numbers with "sort"

I have a group of files that I need to be sorted by number. I have tried to use the sort command without any luck. ls includes* includes1 includes10 includes11 includes12 includes2 includes3 includes4 includes5 includes6 includes7 includes8 includes9 I have tried ls includes*... (6 Replies)
Discussion started by: newbie2010
6 Replies

4. Shell Programming and Scripting

How to execute functions or initiate functions as command line parameters for below requirement?

I have 7 functions those need to be executed as command line inputs, I tried with below code it’s not executing function. If I run the ./script 2 then fun2 should execute , how to initiate that function I tried case and if else also, how to initiate function from command line if then... (8 Replies)
Discussion started by: saku
8 Replies

5. Shell Programming and Scripting

Retrieving line number from grep

Hi. im trying to retrieve the line number from grep. i have 1 part of my code here. grep -n $tgt file.txt | cut -f 1 -d ":" when i do not cut the value i have is 12:aaa:abc:aaa:aaa:aaa how can i store the value of 12 or my whole line of string into a variable with grep? (6 Replies)
Discussion started by: One_2_three
6 Replies

6. Shell Programming and Scripting

Retrieving values from a line in text file

Hi, I am new to Unix/ksh script and will like to check how do I retrieve just the count of '258' in the last line in a text file ? There will be this "TRL" appended with number of count at the last line in a text file . TRL0000000258 var=`grep 'TRL' $HOME/folder/test.txt | wc -l` ... (12 Replies)
Discussion started by: snowfrost
12 Replies

7. Shell Programming and Scripting

Retrieving data from 65th col (of each line) ?

Hello Friends, I am in situation where I have to note down few SQL queries from specific hexdump format. Here is an example (the query text starts at 65th character on each line) ---------------------- 0x000007FEB0E701C0 : 7365 6C65 6374 2063 7573 746E 6F2C 2020 select custno, ... (9 Replies)
Discussion started by: Sunusernewbie
9 Replies

8. UNIX for Dummies Questions & Answers

Retrieving random numbers out of a text file

Hi one and all, I'm working on a Bash script that is designed to calculate how much IP traffic has passed through a port to determine traffic volume over a given amount of time. I've currently been able to use the netstat -s command coupled with grep to write to a file the total packets... (13 Replies)
Discussion started by: nistleloy
13 Replies

9. UNIX for Advanced & Expert Users

Retrieving command line arguments of a particular PID

hi The "ps" command shows the command line arguments of running processes: $ /bin/ps -o pid,args -e .... 26031 pico /tmp/crontab2KaG1Y 596 /usr/lib/sendmail -bd -q15m 9955 xterm -n 1 -sb -sl 800 -g 80+70+70 2627 /usr/sbin/snmpd -Lsd -Lf /dev/null -p /var/run/snmpd -a 1691 .... I... (2 Replies)
Discussion started by: Andrewkl
2 Replies

10. Shell Programming and Scripting

Appending line ending with '}" to new line

Hello masters. I have a rather simple problem but its been killing me. I have a file "x" with only 1 line inside it. The line looks something like Now this is only part of the line. Its actually about 4000 characters. What i need to do is whenever there is a "}", i need to append the next... (4 Replies)
Discussion started by: aismann
4 Replies

Featured Tech Videos