Sponsored Content
Top Forums Shell Programming and Scripting [Help] PERL Script - grep multiple lines Post 302267493 by otheus on Friday 12th of December 2008 01:15:07 PM
Old 12-12-2008
Code:
#!/usr/bin/perl -w
my @data;
while (<>) { 
  push @data, $1 if /^\s*Generation (\d+)/;
  push @data, ($1, $2) if /imported at \w+ (\w+) .* (\d{4})\s*$/;
}

Now your data exists in the @data array. Every 3rd element is a new record. To extract, you can use, well, lots of things:
Code:
while ($#data >= 0) { 
   printf "%s\t%s\t%s\n", splice(@data,0,3);
}

There's about n + 1 other ways of doing such a thing.

Last edited by otheus; 12-12-2008 at 02:16 PM.. Reason: typo; code error
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep on multiple lines

I 'm trying to grep 2 fieldds on 2 differnt lines. Like this: psit > file egrep -e '(NS|ES)' $file. Not working. If this succeeds then run next cmd else exit. Pls Help Gundu (13 Replies)
Discussion started by: gundu
13 Replies

2. Shell Programming and Scripting

grep multiple lines

Hey guys: I've been meaning to post this question for awhile...it is regarding grep. Let's say for example that the following entry is in logxx: Wed Feb 2 07:44:11 <vsm> 91030 Line 5 Severity 1 Vps 6 Call Answered - DN:8753101 CLID:5164665761 PI:83 If I do a grep 91030... (27 Replies)
Discussion started by: cdunavent
27 Replies

3. Shell Programming and Scripting

grep multiple lines

Hi. I have this format on a textfile: VG Name /dev/vg00 PV Name /dev/dsk/c16t0d0 PV Name /dev/dsk/c18t0d0 PV Name /dev/dsk/c16t4d0 VG Name /dev/vg01 PV Name ... (6 Replies)
Discussion started by: jOOc
6 Replies

4. Shell Programming and Scripting

shell script: grep multiple lines after pattern match

I have sql file containing lot of queries on different database table. I have to filter specific table queries. Let say i need all queries of test1,test2,test3 along with four lines above it and sql queries can be multi lines or in single line. Input file contains. set INSERT_ID=1; set... (1 Reply)
Discussion started by: mirfan
1 Replies

5. Shell Programming and Scripting

Perl XML, find matching condition and grep lines and put the lines somewhere else

Hi, my xml files looks something like this <Instance Name="New York"> <Description></Description> <Instance Name="A"> <Description></Description> <PropertyValue Key="false" Name="Building A" /> </Instance> <Instance Name="B"> ... (4 Replies)
Discussion started by: tententen
4 Replies

6. UNIX for Dummies Questions & Answers

grep command to find multiple strings in multiple lines in a file.

I want to search files (basically .cc files) in /xx folder and subfolders. Those files (*.cc files) must contain #include "header.h" AND x() function. I am writing it another way to make it clear, I wanna list of *.cc files that have 'header.h' & 'x()'. They must have two strings, header.h... (2 Replies)
Discussion started by: ritikaSharma
2 Replies

7. UNIX for Dummies Questions & Answers

grep in multiple lines

hi i have kind of below text in a file. I want to get a complete paragraph starting with START and ending with before another START) which has a particular string say XYZ or ABC START XYZ hshjghkjh 45 ljkfd fldjlj d jldf START 3493u ABC 454 4545454 4545454 45454 4545454 START ...... (3 Replies)
Discussion started by: reldb
3 Replies

8. UNIX for Advanced & Expert Users

grep across multiple lines

How do you grep 'select * from table_name' string from a script if the select * and from table_name are on 2 different lines ? like select * from table_name Any help would be greatly appreciated !!! Thanks RDR (4 Replies)
Discussion started by: RDR
4 Replies

9. UNIX for Dummies Questions & Answers

Grep multiple lines

I want to grep multiple lines from a text file. I want to grep all lines containing X,Y and NA in a single command. How do I go about doing that? This is what my text files look like: rs1983866 0.0983 10 100016313 rs1983865 0.5994 X 100016339 rs1983864 0.3272 11 100017453 rs7077266... (2 Replies)
Discussion started by: evelibertine
2 Replies

10. Shell Programming and Scripting

Perl script: matching multiple lines error

Dear Perl users, Could somebody help me how to fix my code so I can get my desired output. Here is the data: Pattern Gabriel halo1 halo2 end Pattern Andreas halo1 halo2 endI want to grep multiple lines between the pattern /Pattern Gabriel / and /end/. Then I will store the output into... (6 Replies)
Discussion started by: askari
6 Replies
GtkCListModel(3)					User Contributed Perl Documentation					  GtkCListModel(3)

NAME
Gtk::CListModel - A simple data model with Gtk::Clist views SINOPSYS
my $model = tie @data, 'Gtk::CListModel', titles => ["Fruit", "Price", "Quantity"]; # all data manipulation is done on @data now push @data, ["Oranges", 5, 16]; # Create a view (a Gtk::Clist widget) to represent the data # Include only some of the data in the view (fruit type and price) # Also, do not include fruits that cost more than 6 price units. my $clist = $model->create_view('main', titles => ['Fruit', 'Price'], filter => sub {$_[1] > 6? () : @_}); DESCRIPTION
Gtk::CListModel lets you keep your data in a perl array and easily create a numer of different views on that data using Gtk::CList widgets. The views can show only some of the columns, or a subset of the data or even munge the data with user-defined filters. All the data manipulations will be performed on a tied array and the changes will be propagated to the views created for that data. To create the model use "tie": my $model = tie @data, 'Gtk::CListModel', titles => ["head1", "head2",...]; The "titles" attribute should be an array reference with the titles of the columns of data. They will be used also for the default titles in the views. You can also provide the initial data using the "data" attribute. Remember that the data elements you insert and retreive from the @data array are array references with as many items as the columns in the model. The order is the one defined by the "titles" attribute. Later you can manipulate the @data array with the usual perl array operators, push, splice and so on. METHODS
create_view ($name[, %options]) Create a Gtk::Clist widget that represents the data in the model. The name can be used later to disconnect the view from the data. Options can be one of the following: o titles An array reference of the titles of the columns to display in the list in the order they should appear in the view. The default is the titles specified at the model creation. o filter A function that can manipulate the data just before it is inserted in the Gtk::CList. The function will receive the data and can either make a copy and modify the data or return an empty list. In the latter case the data will not be added to the view or, if the corre- sponding row was already present, it will be removed from the view. o postfilter A function that receives the view, the row and the data that was just inserted/modified in the view. By default all the data is inserted in the views as text. This filter can be used to display pixmaps, for example or do any other kind of manipulations on the Gtk::CList row. remove_view ($name) Disconnect the named view from the data. The current data displayed in the view will not be affected, but changes in the model will not propagate to this view anymore. map_row ($clist, $row) Get the index in the data array cooresponding to the row displayed in the Gtk::CList widget. AUTHOR
Molaro Paolo lupus@debian.org perl v5.8.0 2001-06-26 GtkCListModel(3)
All times are GMT -4. The time now is 03:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy