Sponsored Content
Top Forums Shell Programming and Scripting Print block of lines matching a pattern Post 302239327 by vanand420 on Tuesday 23rd of September 2008 10:15:22 AM
Old 09-23-2008
Print block of lines matching a pattern

Hi Smilie,
I am using the script to search "MYPATTERN" in MYFILE and print that block of lines containing the pattern starting with HEADER upto FOOTER.
But my problem is that at some occurrence my footer is different e.g. ";". How to modify the script so that MYPATTERN between HEADER and different footers can be printed and that too without loosing the sequence.


gawk -v search='MYPATTERN' '
/HEADER/,/FOOTER/ {
block = (block ? block ORS : "") $0;
}
/FOOTER/ {
if (block ~ search)
print block;
block = "";
} ' <MYFILE>

Also, in this script what to modify if I want to print all thing except MYPATTERN blocks.

Please help me in solving this problem.

Thnx in advance.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

counting the lines matching a pattern, in between two pattern, and generate a tab

Hi all, I'm looking for some help. I have a file (very long) that is organized like below: >Cluster 0 0 283nt, >01_FRYJ6ZM12HMXZS... at +/99% 1 279nt, >01_FRYJ6ZM12HN12A... at +/99% 2 281nt, >01_FRYJ6ZM12HM4TS... at +/99% 3 283nt, >01_FRYJ6ZM12HM946... at +/99% 4 279nt,... (4 Replies)
Discussion started by: d.chauliac
4 Replies

2. Shell Programming and Scripting

I want to print next 3 lines after pattern matching.

Dear Experts, I have file called file1 in which i am greping a pattern after that i want to next 3 lines when that pattern is matched. Ex:- file1 USA UK India Africa Hello Asia Europe Australia Hello Peter Robert Jo i want to next 3 lines after matching Hello... (12 Replies)
Discussion started by: naree
12 Replies

3. Shell Programming and Scripting

Script on pattern matching and print lines and export to excel

Hi Friends, I am working on a script.. Looking forward for your expert help..... My requirement is: I have a text file where, need to search equip * RTF or end of line with RTF ,once this pattern is found then print 2nd line, 6th line, 7th line to a different file. For Ex: equip 1... (34 Replies)
Discussion started by: shaliniyadav
34 Replies

4. Shell Programming and Scripting

print range of lines matching pattern and previous line

Hi all, on Solaris 10, I'd like to print a range of lines starting at pattern but also including the very first line before pattern. the following doesn't print the range starting at pattern and going down to the end of file: cat <my file> | sed -n -e '/<pattern>{x;p;}/' I need to include the... (1 Reply)
Discussion started by: siriche
1 Replies

5. Shell Programming and Scripting

How to print all the lines after pattern matching?

I have a file that contains... Number -------------------- 1 2 3 4 i want to print all the numbers after the hyphen ... (6 Replies)
Discussion started by: ankitknit
6 Replies

6. Shell Programming and Scripting

Compare file1 for matching line in file2 and print the difference in matching lines

Hello, I have two files file 1 and file 2 each having result of a query on certain database tables and need to compare for Col1 in file1 with Col3 in file2, compare Col2 with Col4 and output the value of Col1 from File1 which is a) not present in Col3 of File2 b) value of Col2 is different from... (2 Replies)
Discussion started by: RasB15
2 Replies

7. Shell Programming and Scripting

Want to print out lines with a matching pattern from file

Hi all, I want to search for strings in file1 that can be found in file2 and print out the whole line when matching pattern is found. I have used the below command, but this is not working for me, because it is writing out only the matching patterns from file2, not the whole line. fgrep -o... (2 Replies)
Discussion started by: MonikaB
2 Replies

8. Shell Programming and Scripting

Sed: printing lines AFTER pattern matching EXCLUDING the line containing the pattern

'Hi I'm using the following code to extract the lines(and redirect them to a txt file) after the pattern match. But the output is inclusive of the line with pattern match. Which option is to be used to exclude the line containing the pattern? sed -n '/Conn.*User/,$p' > consumers.txt (11 Replies)
Discussion started by: essem
11 Replies

9. Shell Programming and Scripting

sed -- Find pattern -- print remainder -- plus lines up to pattern -- Minus pattern

The intended result should be : PDF converters 'empty line' gpdftext and pdftotext?xml version="1.0"?> xml:space="preserve"><note-content version="0.1" xmlns:/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size">PDF converters gpdftext and pdftotext</note-content>... (9 Replies)
Discussion started by: Klasform
9 Replies

10. Shell Programming and Scripting

Print lines after matching two pattern

would like to print everything after matching two patterns AAA and BBB. output : CCC ZZZ sample data : AAA BBB CCC ZZZ (4 Replies)
Discussion started by: jhonnyrip
4 Replies
RDSWAP(1)						      General Commands Manual							 RDSWAP(1)

["NAME"]
       rdswap - a multi-language RD documents support tool

["SYNOPSIS"]
       rdswap [ -h | -v ] filename ...

["DESCRIPTION"]
       This tool is written to support you to write multi-language documents using the Ruby-Document-Format (RD).

       The idea for such a tool was originated by Minero Aoki, how has thought about, how to make life easier for developers who have to write and
       maintain scripts in more than one language.

       You have to specify at least two filenames on the command line. One containing the Ruby script, the second containing a translated  RD.	If
       the  script  does  not  end  with `.rb', it has to be the first filename mentioned on the command line! In opposition, all files containing
       translations must not ending with `.rb'! They should use a extension that describes the language. So that would give us the following  pic-
       ture:

	      o sample.rb : Script contains the original documentation.

	      o sample.jp : Documentation written in Japanese.

	      o sample.de : Translation to German.

       The  tool doesn't care about the language extensions. You can name them as you like! So the file containing the Japanese translation above,
       could also be names e.g. `sample.japan' or even `japantranslation.japan'.

       For every translation file, a new file will be created. The name is build from the script filename plus the language extension. So  regard-
       ing the example above, following files would be created:

	      o sample.rb.jp

	      o sample.rb.de

       or, given the alternative translation filename as mentioned above...

	      o sample.rb.japan

   ["How does it work?"]
       The  contents  of all files will be split into source and RD blocks. The source of the translation files, will be discarded! Every RD block
       may be of a certain type. The type will be taken from the contents directly following the `=begin' on the same line. If	there  is  only  a
       lonely `=begin' on a line by itself, the type of the block is `nil'. That means in
	   # File sample.rd
	   :
	   =begin
	    bla bla
	   =end
	   :
	   =begin whatever or not
	    blub blub
	   =end
	   :

       the first block would be of type `nil' and the second one of type `whatever or not'.

       Block  types  are  important for the translation. If a source will be generated from a script and a translation file, only these blocks are
       taken from the translation files, that comes in the right sequence and contains the same type as the block in the script! For example:
	   # File sample.rb
	   :
	   =begin gnark
	    Some comment
	   =end
	   :
	   =begin
	    block 2
	   =end
	   :
	   =begin
	    block 3
	   =end
	   :

	   # File sample.de
	   :
	   =begin
	    Block zwei
	   =end
	   :
	   =begin
	    Block drei
	   =end
	   :

       Here, the first block of `sample.rb' will *not* be translated, as there is no translation block with that type in sample.de! So	the  first
       block  would  be  inserted as-it-is into the translated script. The blocks afterwards, however, are translated as the block type does match
       (it is `nil' there).

       Attention: In a translation file, a second block will only be used, if a first one was already used (matched). A third block will  only	be
       used, if a second one was used already!

       That  means,  if the first block of `sample.de' would be of type e.g. `Never match', then no block would ever be taken to replace anyone of
       `sample.rb'.

   ["OPTIONS"]
       ["-h"]
	      shows this help text.

       ["-v"]
	      shows some more text during processing.

       ["filename"]
	      means a file, that contains RD and/or Ruby code.

   ["EXAMPLES"]
	   rdswap -v sample.rb sample.ja sample.de
	   rdswap -v sample.ja sample.rb sample.de
	   rdswap -v sample.ja sample.de sample.rb
	   rdswap -v sample.??

   ["AUTHORS"]
       Clemens Hintze <c.hintze@gmx.net>.

								     June 2012								 RDSWAP(1)
All times are GMT -4. The time now is 04:53 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy