03-31-2008
Quote:
I am newbie to perl, just curious to know how to do the following in perl.
suppose I ve a txt file like below. when it founds "*Main Start"
Then go to "*Main End,,,,,,,," patteren and just collect the number from the previous line of "*Main End,,,,,,," pattern . In my case it is 5 . Then start excuting normally from the "*Main Start" position
You could use the Tie::File module for this which avoids the brute approach "era" mentioned. With Tie::File you treat a file like a perl array, so if you find a pattern in a certain line you just use simple array indexing to go back one line in the file. See the Tie::File (a perl core module) documentation for usage details.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi
I'm not very good with the serach patterns and I'd need a sample how to find a line that has multiple patterns.
Say I want to find a line that has "abd", "123" and "QWERTY" and there can be any characters or numbers between the serach patterns, I have a file that has thousands of lines and... (10 Replies)
Discussion started by: Juha
10 Replies
2. Shell Programming and Scripting
Help with script that will check log, then find a match is found, add that as the subject line.
1. The script will always run as a deamon.. and scan the event.log file
2. when a new 101 line is added to the event.log file, have the script check position 5,6 and 7 which is the job name, which... (2 Replies)
Discussion started by: axdelg
2 Replies
3. UNIX for Dummies Questions & Answers
Hello, can someone help me how to find a word and 2 lines after it and then send the output to another file.
For example, here is myfile1.txt. I want to search for "Error" and 2 lines below it and send it to myfile2.txt
I tried with grep -A but it's not supported on my system.
I tried with awk,... (4 Replies)
Discussion started by: eurouno
4 Replies
4. UNIX for Dummies Questions & Answers
I have a file like this
DoctorName
Address1
Address2
DOB
InsuredName
Address1
Address2
DOB
PatientName
Address1
Address2
DOB
ClaimNo1
DoctorName
Address1
Address2
DOB
InsuredName (2 Replies)
Discussion started by: nsuresh316
2 Replies
5. Shell Programming and Scripting
Hi All,
From the below line if we want to display all the text till found pattern dot/. I was trying with the below code but couldn't able
to print text before the pattern. it display texts which is found after pattern.
awk '/assed/{print;getline;print}' file_name | sed 's/^*. *//'
input... (4 Replies)
Discussion started by: Optimus81
4 Replies
6. Shell Programming and Scripting
Hello Everyone,
I have a file with 5 fields in each line just like mentioned below. Also the 4th field is time elapsed(hh:mm:ss) since the process is running
xyz abc status 23:00:00 idle
abc def status 24:00:00 idle
def gji status 27:00:02 idle
fgh gty status 00:00:00 idle
Here I... (8 Replies)
Discussion started by: rahul2662
8 Replies
7. Shell Programming and Scripting
Hi,
I have log like this:
... (1 Reply)
Discussion started by: justbow
1 Replies
8. Shell Programming and Scripting
Hi,
I have log like this:
... (1 Reply)
Discussion started by: justbow
1 Replies
9. Shell Programming and Scripting
Hi All,
totally new on it , normally use it for just 1 line.
i'm looking for help.
i'm have 2 file.
file 1 :
--------------------------------------------------
c12
c1
c3
--------------------------------------------------
file 2:
other content ... (10 Replies)
Discussion started by: kttan
10 Replies
10. UNIX for Beginners Questions & Answers
Looking for help,
i have input file like below and want to modify to expected output, if can without create additional file, hope can direct modify it.
have 2 thing need do.
1st
is adding a word (testplan generation off) after ! ! IPG: Tue Aug 07 14:31:17 2018
2nd
is adding... (16 Replies)
Discussion started by: kttan
16 Replies
LEARN ABOUT DEBIAN
tie::array::sorted
Tie::Array::Sorted(3pm) User Contributed Perl Documentation Tie::Array::Sorted(3pm)
NAME
Tie::Array::Sorted - An array which is kept sorted
SYNOPSIS
use Tie::Array::Sorted;
tie @a, "Tie::Array::Sorted", sub { $_[0] <=> $_[1] };
push @a, 10, 4, 7, 3, 4;
print "@a"; # "3 4 4 7 10"
DESCRIPTION
This presents an ordinary array, but is kept sorted. All pushes and unshifts cause the elements in question to be inserted in the appropri-
ate location to maintain order.
Direct stores ("$a[10] = "wibble"") effectively splice out the original value and insert the new element. It's not clear why you'd want to
use direct stores like that, but this module does the right thing if you do.
If you don't like the ordinary lexical comparator, you can provide your own; it should compare the two elements it is given. For instance,
a numeric comparator would look like this:
tie @a, "Tie::Array::Sorted", sub { $_[0] <=> $_[1] }
Whereas to compare a list of files by their sizes, you'd so something like:
tie @a, "Tie::Array::Sorted", sub { -s $_[0] <=> -s $_[1] }
LAZY SORTING
If you do more stores than fetches, you may find Tie::Array::Sorted::Lazy more efficient.
AUTHOR
Original author: Simon Cozens
Current maintainer: Tony Bowden
BUGS and QUERIES
Please direct all correspondence regarding this module to: bug-Tie-Array-Sorted@rt.cpan.org
This module was originall written as part of the Plucene project. However, as Plucene no longer uses this, it is effectively unmaintained.
COPYRIGHT AND LICENSE
Copyright (C) 2003-2006 Simon Cozens and Tony Bowden.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License; 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.
perl v5.8.8 2004-10-10 Tie::Array::Sorted(3pm)