Sponsored Content
Top Forums Shell Programming and Scripting Pattern matching in file and then display 10 lines above every time Post 302305201 by digitalrg on Wednesday 8th of April 2009 08:27:28 AM
Old 04-08-2009
how to print 10 lines below

Thank you sethcoop.. but can you please tell me how to print 10 lines below the occurance of word "total" please help.....
Thanks


Quote:
Originally Posted by sethcoop
What about a simple little perl script????.... the 10 lines above the word "total" will be printed... it will read a file called file.txt.

Code:
#!/usr/local/bin/perl
@array;
open(F, "file.txt") or die "cannot read file";
while(<F>) {
  chomp;
  $my_line = "$_";
 
  if ("$my_line" =~ "total") {
    foreach(@array){
      print "$_\n";
    }
    print "========================================================\n"
  }
  push(@array,$my_line);
  if ("$#array" > "9") {
    shift(@array);
  }
};

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Reading lines in a file matching a pattern

Hi, I need to redirect the lines in a file to a different file if the character starting from 2 to 6 in the line are numerical . Please let me know if anyone have any script to do this. Thanks, Ranjit (4 Replies)
Discussion started by: torenji
4 Replies

2. 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

3. Shell Programming and Scripting

delete lines in file matching a pattern

I have a text file, a sample of which is as follows: r/- * 0: WINDOWS/Microsoft.NET/Framework/v2.0.50727/ASP.NETWebAdminFiles/Images/headerGRADIENT_Tall.gif r/- * 0: WINDOWS/SoftwareDistribution/Download/cf8ec753e88561d2ddb53e183dc05c3e/backoff.jpg r/- * 0: ... (2 Replies)
Discussion started by: stumpyuk
2 Replies

4. Shell Programming and Scripting

pattern matching lines using the date, and then joining the lines

Hi Guys, Was trying to attempt the below using awk and sed, have no luck so far, so any help would be appreciated. Current Text File: The first line has got an "\n", and the second line has got spaces/tabs then the word and "\n" TIME SERVER/CLIENT TEXT... (6 Replies)
Discussion started by: eo29
6 Replies

5. Shell Programming and Scripting

Finding lines matching the Pattern and their previous lines in a file

Hi, I am trying to locate the occurences of certain pattern like 'Possible network disconnect' in a text file. I can get the actual lines matching the pttern using: grep -w 'Possible network disconnect' file_name. But I am more interested in getting the timing of these events which are... (7 Replies)
Discussion started by: sagarparadkar
7 Replies

6. UNIX for Dummies Questions & Answers

FIND matching pattern of lines in a file

I need to search for two patterns in a file and find number of matching lines. find . -type f | xargs grep "DROP TABLE" | wc -l find . -type f | xargs grep "DROP SYNONYM" | wc -l The above code works. However I am looking at finding a commnd that will simplify as on a singe command... (2 Replies)
Discussion started by: Siva SQL
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. UNIX for Dummies Questions & Answers

Grep -v lines starting with pattern 1 and not matching pattern 2

Hi all! Thanks for taking the time to view this! I want to grep out all lines of a file that starts with pattern 1 but also does not match with the second pattern. Example: Drink a soda Eat a banana Eat multiple bananas Drink an apple juice Eat an apple Eat multiple apples I... (8 Replies)
Discussion started by: demmel
8 Replies

10. Shell Programming and Scripting

Display all lines after a matching variable

Hi, I have a file called abc.txt with the following dates 2016-01-27 2016-01-28 2016-01-29 2016-01-30 2016-01-31 2016-02-01 2016-02-02 2016-02-03 I would like to print all lines below if 2016-01-31 is found, excluding that date. I use this command --> sed '1,/2016-01-31/d' abc.txt If... (4 Replies)
Discussion started by: Nagesh_1985
4 Replies
PrintCols(3pm)						User Contributed Perl Documentation					    PrintCols(3pm)

NAME
print_cols, format_cols - Print or format array elements in vertically sorted columns. SYNOPSIS
"use Array::PrintCols;" "print_cols @array;" "print_cols @array, $colspec;" "print_cols @array, $colspec, $total_width;" "print_cols @array, $colspec, $total_width, $indent;" $output = "format_cols" <same arguments as "print_cols">; "$Array::PrintCols::PreSorted = 0;" DESCRIPTION
This module exports two subroutine names: "print_cols" and "format_cols". The "print_cols" subroutine prints the items of "@array" in multiple, alphabetically sorted vertical columns. One, two, or three optional arguments may be given to "print_cols" to control the width and number of the columns, the total width of the output, and indentation. Reasonable defaults apply in the absence of the optional arguments (or when given as the empty string or zero). Generally, the minimum width column is used when possible. If "$colspec" is given as a non-negative number, it is treated as the minimum width of the column; the actual width will be the maximum of this value and the lengths of all array items. If "$colspec" is given as a negative number, its absolute value value is used to determine the total number of columns. However, it cannot exceed the total number of columns possible based on the maximum length of all the array elements. If a third argument is supplied, it is used as the total width of the output. The default for this value is the value of the environment variable $ENV{'COLUMNS'}, if defined, or 80. If the fourth argument is given, it is used as the indent for all lines printed, which subtracts from the total width of the output. This value defaults to zero (ie: no indention of the output). The variable $Array::PrintCols::PreSorted controls whether or not the "print_cols" subroutine will expect its array argument to already be sorted. If this variable is nil or zero, "print_cols" will cause print out a sorted copy of the input array. The routine "format_cols" is called exactly like "print_cols" but returns the formatted result as a string, rather than printing it. EXAMPLES
use Array::PrintCols; @commands = sort qw( use list put get set quit help server ); # print in three columns with an indention of 1. print_cols @commands, -3, 0, 1; # print the formatted result data to the result file print RESULTFILE format_cols @result_data; AUTHOR
Copyright (C) 1995-1998 Alan K. Stebbens <aks@sgi.com> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. BUGS
With Perl, you cannot default intervening arguments by leaving them empty; you must supply a zero or empty-string (''). perl v5.10.0 2008-05-12 PrintCols(3pm)
All times are GMT -4. The time now is 07:37 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy