04-27-2004
Driver,
My point was that in awk you can use start/end pairs. i.e. two patterns or conditions sepated by a comma. All you have to do is determine what the conditions are.
My post works with the sample supplied. But with the sample you have supplied, the end condition might be "/^}$/" , i.e. a line that is one "}" on its own with no whitespace. So you would have...
awk '/sub foo/,/^}$/' file
...which could be the simplest solution, but perhaps more work is needed.
It would be more efficient to use "exit" to stop reading the file when the end condition is reached. The idea of counting matched braces can be coded more simply as ....
awk '/sub foo/,0 {print;b+=gsub("\{","{");b-=gsub("\}","}");if(b==0)exit}' file
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
This is truly dummy question.
I have a text file of 100 lines.
What unix commnad to extract line 20 to 40 and output it to another file?
Is it something cat or grep or >> ?
Thanks (6 Replies)
Discussion started by: champion
6 Replies
2. Shell Programming and Scripting
Hi,
I am using the Korn shell script to display lines of the file. For example below:
outputfile=test.dat
-- display each line of the test.dat file
abcd 345
adek 45566
dve3 34565
so on...
I appreciate your time to find a command for displaying lines of the file on the log.
... (2 Replies)
Discussion started by: sbryant
2 Replies
3. Shell Programming and Scripting
Hi
to all in this great forum, im sure this has been asked lots of times before but ive been looking for the past day and cant find the answer.
I use cat/some/file to display its contents but how can i get it to not display hashed out lines, or do i need another command,
Thanks in advance:) (5 Replies)
Discussion started by: dave123
5 Replies
4. Shell Programming and Scripting
I have to grep on a few words in a file and then display the line containing those words and the line above it.
For ex -
File1.txt contains...
abc xyz abc
This is a test
Test successful
abc xyz abc
Just a test
Test successful
I find the words 'Test successful' in the file... (6 Replies)
Discussion started by: user7617
6 Replies
5. Shell Programming and Scripting
Hi!
I'm trying to create a shell script to parse a file which might have multiple lines matching a pattern (i.e. containing some word).
I need to return all lines matching the pattern, but stripping the contents of that line until the pattern is matched
For example, if my input file was
... (4 Replies)
Discussion started by: orno
4 Replies
6. UNIX for Dummies Questions & Answers
how do i Display only the first two characters of all the lines from a file.? (1 Reply)
Discussion started by: ritusubash
1 Replies
7. UNIX Desktop Questions & Answers
a. How do I display the content of the file containing what Ive merged using a filter which would display only the lines of the file which don't contain number, for example 3 or 6. (3 Replies)
Discussion started by: herberwz
3 Replies
8. UNIX for Dummies Questions & Answers
I have a bunch of files in various folders. I want to go through each of them and display certain lines in a particular format
All files have a similar format
Date:
Time:
User:
Message:
Miscellaneous:
(and some other stuff)I want to display to only the "Date:", "Time:" "User:" lines in... (7 Replies)
Discussion started by: newbiegal01
7 Replies
9. Shell Programming and Scripting
Hell,
I want to grep certain word from file and display above 2 lines and after two lines.
Here is the content of sample file.
Mar 14, 2013 12:56:59 AM Agent.Agent SendTo
INFO: Connection to server:7041 - Credential Transmit Successesful
Mar 14, 2013 8:54:21 AM cgent SendTo
WARNING:... (7 Replies)
Discussion started by: balareddy
7 Replies
10. Shell Programming and Scripting
Hi Guys,
I want to echo last 5 lines of a file to a mail. My script getting continuously looped and not getting the output. can anyone help?
#!/bin/bash
read karthick;
tail -5 $karthick;
echo $karthick | mail -s "genius" someone@gmail.com
Thanks
NK (2 Replies)
Discussion started by: Karthick N
2 Replies
GREP(1) General Commands Manual GREP(1)
NAME
grep - search a file for lines containing a given pattern
SYNOPSIS
grep [-elnsv] pattern [file] ...
OPTIONS
-e -e pattern is the same as pattern
-c Print a count of lines matched
-i Ignore case
-l Print file names, no lines
-n Print line numbers
-s Status only, no printed output
-v Select lines that do not match
EXAMPLES
grep mouse file # Find lines in file containing mouse
grep [0-9] file # Print lines containing a digit
DESCRIPTION
Grep searches one or more files (by default, stdin) and selects out all the lines that match the pattern. All the regular expressions
accepted by ed and mined are allowed. In addition, + can be used instead of * to mean 1 or more occurrences, ? can be used to mean 0 or 1
occurrences, and | can be used between two regular expressions to mean either one of them. Parentheses can be used for grouping. If a
match is found, exit status 0 is returned. If no match is found, exit status 1 is returned. If an error is detected, exit status 2 is
returned.
SEE ALSO
cgrep(1), fgrep(1), sed(1), awk(9).
GREP(1)