Grep three consecutive lines if each lines contains certain string


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep three consecutive lines if each lines contains certain string
# 8  
Old 11-20-2015
if you are sure that it is impossible for either of REQUEST/RESPONSE/SUCCESS to appear more than once in terms of your key from column 1. Then below awk should work for you.

Code:
awk 'BEGIN{FS=" +| +"}
{
arr[$1]=arr[$1]"\n"$0
brr[$1]++
}
END{
for(i in arr)
if(brr[i]==3)
print arr[i]
}' a

python
Code:
import re
lines={}
actions={}
with open("a.txt") as file:
	for line in file:
		items=re.compile("\s+|\s+").split(line)
		if items[0] in lines:
			lines[items[0]]=lines[items[0]]+line
		else:
			lines[items[0]]=line
		if items[0] in actions:
			actions[items[0]]=actions[items[0]]+'_'+items[2]
		else:
			actions[items[0]]=items[2]
for key in lines:
	if 'REQUEST' in actions[key] and 'RESPONSE' in actions[key] and 'SUCCESS' in actions[key]:
		print(lines[key])

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Remove duplicate consecutive lines with specific string

Hello, I'm trying to remove the duplicate consecutive lines with specific string "WARNING". File.txt abc; WARNING 2345 WARNING 2345 WARNING 2345 WARNING 2345 WARNING 2345 bcd; abc; 123 123 123 WARNING 1234 WARNING 2345 WARNING 2345 efgh; (6 Replies)
Discussion started by: Mannu2525
6 Replies

2. Shell Programming and Scripting

Grep a string and count following lines starting with another string

I have a large dataset with following structure; C 0001 Carbon D SAR001 methane D SAR002 ethane D SAR003 propane D SAR004 butane D SAR005 pentane C 0002 Hydrogen C 0003 Nitrogen C 0004 Oxygen D SAR011 ozone D SAR012 super oxide C 0005 Sulphur D SAR013... (3 Replies)
Discussion started by: Syeda Sumayya
3 Replies

3. Shell Programming and Scripting

Grep 2 consecutive lines and replace the second line in a file

I have a file lake this cat ex1.txt </DISCOUNTS> <B2B_SPECIFICATION elem="0"> <B2B_SPECIFICATION elem="0"> <DESCR>Netti 2 </DESCR> <NUMBER>D02021507505</NUMBER> </B2B_SPECIFICATION> <B2B_SPECIFICATION elem="1"> <DESCR>Puhepaketti</DESCR>... (2 Replies)
Discussion started by: Dhoni
2 Replies

4. Shell Programming and Scripting

Grep couple of consecutive lines if each lines contains certain string

Hello, I want to extract from a file like : 20120530025502914 | REQUEST | whatever 20120530025502968 | RESPONSE | whatever 20120530025502985 | RESPONSE | whatever 20120530025502996 | REQUEST | whatever 20120530025503013 | REQUEST | whatever 20120530025503045 | RESPONSE | whatever I want... (14 Replies)
Discussion started by: black_fender
14 Replies

5. Shell Programming and Scripting

aix :grep to get lines before and after string

am using AIX and I have a string "There is no process to read data written to a pipe". I want to get the output 2 lines before and 4 lines after this string. The string is present like more than 100 times in the log and I want to output, the last result in the log with this string I tried using... (1 Reply)
Discussion started by: PhAnT0M
1 Replies

6. Shell Programming and Scripting

Grep a string from input file and delete next three lines including the line contains string in xml

Hi, 1_strings file contains $ cat 1_strings /home/$USER/Src /home/Valid /home/Review$ cat myxml <projected value="some string" path="/home/$USER/Src"> <input 1/> <estimate value/> <somestring/> </projected> <few more lines > <projected value="some string" path="/home/$USER/check">... (4 Replies)
Discussion started by: greet_sed
4 Replies

7. Shell Programming and Scripting

Merge two non-consecutive lines based on line number or string

This is a variation of an earlier post found here: unixcom/shell-programming-scripting/159821-merge-two-non-consecutive-lines.html User Bartus11 was kind enough to solve that example. Previously, I needed help combining two lines that are non-consecutive in a file. Now I need to do the... (7 Replies)
Discussion started by: munkee
7 Replies

8. Shell Programming and Scripting

Print lines between two lines after grep for a text string

I have several very large file that are extracts from Oracle tables. These files are formatted in XML type syntax with multiple entries like: <ROW> some information more information </ROW> I want to grep for some words, then print all lines between <ROW> AND </ROW>. Can this be done with AWK?... (7 Replies)
Discussion started by: jbruce
7 Replies

9. Shell Programming and Scripting

Like grep -v for a string over 2 lines? Sed?

Hi, I have a log file that I need to monitor as it's being written to, and I want to exclude certain strings from the output. At the moment I'm using ... tail -f LogFileName_`date +%d`.log | egrep -v "First String To Exclude | 2nd string | 3rd string" ...which works OK - but now I need to... (1 Reply)
Discussion started by: jake657
1 Replies

10. Shell Programming and Scripting

grep string & next n lines

need help on this. let say i hv 1 file contains as below: STRING Description bla bla bla Description yada yada yada Data bla bla Data yada yada how do i want to display n lines after the string? thanks in advance! (8 Replies)
Discussion started by: ashterix
8 Replies
Login or Register to Ask a Question
.::SWF::TextField(3pm)					User Contributed Perl Documentation				    .::SWF::TextField(3pm)

NAME
SWF::TextField - SWF TextField class SYNOPSIS
use SWF::TextField; $textfield = new SWF::TextField([$flags]); DESCRIPTION
Unlike SWF::Text objects, TextFields cannot be rotated, scaled non-proportionally, or skewed. However, TextFields can be used as form entries and they can use browser-defined fonts. NOTES
: TextField is implemented into Flash since Flash3. Most of features for TextFields are available since Flash4. Simple HTML-tags in TextField are possible since Flash5. METHODS
new SWF::TextField([$flags]); Creates a TextField object whose behaviour is dictated by "flags" (see also SWF::Constants): SWFTEXTFIELD_NOEDIT: Non-editable Textfiled SWFTEXTFIELD_PASSWORD: Obscure user input with astricts. SWFTEXTFIELD_DRAWBOX: Draw a border around TextField SWFTEXTFIELD_MULTILINE: TextFiels may contain multiple lines SWFTEXTFIELD_WORDWRAP: Warp text when text reaches TextField border SWFTEXTFIELD_NOSELECT: TextField is not selected when user clicks on it SWFTEXTFIELD_ALIGN_LEFT: Align text to the left SWFTEXTFIELD_ALIGN_RIGHT: Align text to the right SWFTEXTFIELD_ALIGN_CENTER: Align text to the center SWFTEXTFIELD_ALIGN_JUSTIFY: Justify text SWFTEXTFIELD_HTML: Add HTML markup string SWFTEXTFIELD_HASLENGTH: SWFTEXTFIELD_USEFONT: Want to embed font SWFTEXTFIELD_AUTOSIZE: Flags may be combined with the bitwise OR operation. For example: my $t = new SWF::TextField(SWFTEXTFIELD_MULTILINE | SWFTEXTFIELD_WORDWRAP); $textfield->addString($string) $textfield->addUTF8String($UTF8string) Add $string to TextField. Text is appended to the existing text. $textfield->align($alignment) $textfield->setAlignment($alignment) Set the alignment of the text in the textfield. Possible values are SWFTEXTFIELD_ALIGN_LEFT SWFTEXTFIELD_ALIGN_RIGHT SWFTEXTFIELD_ALIGN_CENTER SWFTEXTFIELD_ALIGN_JUSTIFY By default a SWF::TextField ist left aligned. $textfield->setBounds($width, $height) Sets the width and height of the textfield. $textfield->setColor($red, $green, $blue [, $alpha]) Set the color of the text. An 8 bit value for each parameter. You can use the hex or decimal notation. Even mixed. $tf->setColor(0xcc,0,0x33); $tf->setColor(204,0,51,255); $textfield->setFont($font) Sets an SWF::Font object -$font- to be used in the TextField. $textfield->setPadding($padding) Set TextField padding. $textfield->setHeight($height) Set the height of font in your textfield. $textfield->setIndentation($indentation) Set the indentation of the first line of a paragraph. $textfield->setLeftMargin($left) Sets the left margin of the textfield. $textfield->setRightMargin($right) Sets the right margin of the textfield. $textfield->setMargins($left, $right) Sets left and right margins of $textfield. $textfield->setLineSpacing($linespacing) Sets the space between lines. $textfield->setName($name) $textfield->setVariableName($name) Assigns a name to the TextField which could be used to reference the TextField within ActionScript. $textfield->addChars($string) $textfield->addUTF8Chars($UTF8string) Adds characters to a font that will be available within a textfield. $textfield->setFlags($flags) Set TextField behaviour by "flags" (see above new SWF::TextField) For example: $textfield->setFlags(SWFTEXTFIELD_PASSWORD); $textfield->setLength($length) Sets limit for user input size to $length. $textfield->setFieldHeight($height) Sets height limit for visible part of text field. If $height is set to 0, the height is calculated by used font, see setHeight() method. AUTHOR
Soheil Seyfaie (soheil at users.sourceforge.net). SEE ALSO
SWF, SWF::Action, SWF::Button, SWF::Constants, SWF::DisplayItem, SWF::Font, SWF::Movie, SWF::MovieCip, SWF::Text perl v5.14.2 2011-10-26 .::SWF::TextField(3pm)