How to extract a paragraph containing a given string?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to extract a paragraph containing a given string?
# 8  
Old 06-29-2016
Quote:
Originally Posted by smoofy
What about:
Code:
awk 'BEGIN{RS=ORS=";\n"}/table7/' text

CREATE VIEW view1
FROM table1 ,table2 ,table6 ,table7
something
something
FROM table5 ,table7 (something FROM table4 ,table5(this is something FROM table8)
USING file2
;

I just can't get rid of the leading empty line....
From the POSIX standard:
Quote:
RS
The first character of the string value of RS shall be the input record separator; a <newline> by default. If RS contains more than one character, the results are unspecified.
How many characters are you assigning to RS? Two. In your AWK implementation, it ignores the "\n", other implementations might do something different.
# 9  
Old 07-04-2016
Thank you all..

Yeah tried the perl command too but didnt work ..

Looks like there is no solution..
# 10  
Old 07-04-2016
Delphys,

What's the issue with perl code in post #6 ? Could you please post some more information (like error , o/p ) ?

~ Pravin ~
# 11  
Old 07-04-2016
Try:
Code:
awk '1; NF==1 && $1=";"{print x}' test.out | awk '/table7/' RS=


--
Note: On Solaris use /usr/xpg4/bin/awk rather than awk

Last edited by Scrutinizer; 07-05-2016 at 12:01 AM..
# 12  
Old 07-04-2016
Code:
awk '/CREATE VIEW/,/;/ {TMP=TMP DL $0; DL=ORS } /;/ {if (TMP ~ /table7/) print TMP; TMP=DL=""}' file
CREATE VIEW view1
FROM table1 ,table2 ,table6 ,table7
something
something
FROM table5 ,table7 (something FROM table4 ,table5(this is something FROM table8)
USING file2
;

# 13  
Old 07-05-2016
Just for the record: the grep-utility in AIX has a "-p" option which makes the output the surrounding paragraph instead of only the line with the match. If you happen to be on an AIX system this should pretty much do what you want.

Because grep -p works only on empty-line-separated paragraphs you will have to "massage" your file a bit first, something like:

Code:
sed '/^;$/ G' /your/file | grep -p '<regexp'

I hope this helps.

bakunin
# 14  
Old 07-05-2016
ok, so I need to apologize for being a little reticent..

I am trying to extract paragraphs of data from the wireshark pcap
for our Client's traffic, hence the sensitivity issue..
Doing this on Redhat Box.

So if the extraction is successful, I should get:

Code:
Date:  yymmdd:time ==> record separator
.
.
.
  var logonId = "xxyyzzww";
.
.

so if I try:
Code:
awk '/Date/,/;/ {TMP=TMP DL $0; DL=ORS } /;/ {if (TMP ~ /var logonId/) print TMP; TMP=DL=""}' /root/rbc-pcap-strings

I get empty results.

When I try the perl oneliner:
Code:
 perl -ne 'BEGIN{$/=";\n"} /var logonId/ and print' /root/rbc-pcap-strings
  var logonId = "xxyyzzww";
  var logonId = "yyzzwwqq";

I do not get the paragraph..

Thnx
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash script to extract paragraph with globs in it

Hi, Its been a long time since I have used Bash to write a script so am really struggling here. Need the gurus to help me out. uname -a Linux lxserv01 2.6.18-417.el5 i have a text file with blocks of code written in a similar manner ******* BEGIN MESSAGE ******* Station /... (12 Replies)
Discussion started by: dsid
12 Replies

2. UNIX for Dummies Questions & Answers

Extract paragraph that contains a value x<-30

I am using OSX. I have a multi-mol2 file (text file with coordinates and info for several molecules). An example of two molecules in the file is given below for molecule1 and molecule 2. The total file contains >50,000 molecules. I would like to extract out and write to another file only the... (2 Replies)
Discussion started by: Egy
2 Replies

3. Shell Programming and Scripting

How to extract every repeated string between two specific string?

Hello guys, I have problem with hpux shell script. I have one big text file that contains like SOH bla bla bla bla bla bla ETX SOH bla bla bla ETX SOH bla bla bla ETX What I need to do is save first SOH*BLA into file1.txt, save second SOH*BLA into file2.txt and so on.... (17 Replies)
Discussion started by: sembii
17 Replies

4. Shell Programming and Scripting

Search String and extract few lines under the searched string

Need Assistance in shell programming... I have a huge file which has multiple stations and i wanted to search particular station and extract few lines from it and the rest is not needed Bold letters are the stations . The whole file has multiple stations . Below example i wanted to search... (4 Replies)
Discussion started by: ajayram_arya
4 Replies

5. Shell Programming and Scripting

to extract string from main string and string comparison

continuing from my previous post, whose link is given below as a reference https://www.unix.com/shell-programming-scripting/171076-shell-scripting.html#post302573569 consider there is create table commands in a file for eg: CREATE TABLE `Blahblahblah` ( `id` int(11) NOT NULL... (2 Replies)
Discussion started by: vivek d r
2 Replies

6. Shell Programming and Scripting

How to extract multiple line in a paragraph? Please help.

Hi all, The following lines are taken from a long paragraph: Labels of output orbitals: RY* RY* RY* RY* RY* RY* 1\1\GINC-COMPUTE-1-3\SP\UB3LYP\6-31G\C2H5Cr1O1(1+,5)\LIUZHEN\19-Jan-20 10\0\\# ub3lyp/6-31G pop=(nbo,savenbo) gfprint\\E101GECP\\1,5\O,0,-1.7 ... (1 Reply)
Discussion started by: liuzhencc
1 Replies

7. UNIX for Dummies Questions & Answers

Output text from 1st paragraph in file w/ a specific string through last paragraph of file w/ string

Hi, I'm trying to output all text from the first paragraph in a file that contains a specific string through the last paragraph in that file that contains that string. Previously, I was outputting just each paragraph with that search string with: cat in_file | nawk '{RS=""; FS="\n";... (2 Replies)
Discussion started by: carpenn
2 Replies

8. Shell Programming and Scripting

Search for a particular string in a paragraph in a text

Hi all, i'm new to this community. I am trying to write a script which will fetch ftp completion time of a file from a paragraph of a big text file ( which contains multiple paragraphs) . Each paragraph will have ftp details.. Now I dont know how to fetch process time within a paragraph of... (3 Replies)
Discussion started by: prachiagra
3 Replies

9. Shell Programming and Scripting

Search for string in a file and extract another string to a variable

Hi, guys. I have one question: I need to search for a string in a file, and then extract another string from the file and assign it to a variable. For example: the contents of the file (group) is below: ... ftp:x:23: mail:x:34 ... testing:x:2001 sales:x:2002 development:x:2003 ...... (6 Replies)
Discussion started by: daikeyang
6 Replies

10. Linux

Extract a paragraph

Hi , Unix.com has been life saver for me I admit :) I am trying to extract a paragraph based on matching pattern "CREATE TABLE " from a ddl file . The paragraphs are seperated by blank line . Input file is #cat zip.20080604.sql1 CONNECT TO TST103 SET SESSION_USER OPSDM002 ... (2 Replies)
Discussion started by: capri_drm
2 Replies
Login or Register to Ask a Question