help for fast way of finding line number for a regex
Hello,
I am trying to find out the line numbers where regex match and put them into a file with below command:
where $pat is the regex
but this command is taking a lot of time to execute with bigger files for size more than 5000000 KBs.
could we make this faster by any alternative command?
Note: I am writing a script to find out a section of a file based on regex match. and the regex can be more than one. for example n lines above regex and n lines down the regex.
Hi,I am new to shell scripting and i want to find the line numbers of matching braces.
The file contents are as follows
File XXX.dat
1 ( CLASS "FRUIT"
2 (TYPE "PERSISTENT")
3 (MESSAGE_TYPE "M")
4 (GET_REQRD "Y")
5 (SET_REQRD "Y")
6 )
7 ( CLASS... (3 Replies)
hi guys,
I want to do pattern matching with awk or sed but I don't know how. here's what I want:
I have a line number for a pattern that I have already found using grep, and I know a pattern like "---" that happens a few lines above that certain line number. I want to print out the chunk... (1 Reply)
hi
i have a file , that contains data like
34343538 3136414D 45583030 30302E54 445816AMEX0000.T
524E2020 20202020 20202020 20202020 RN
20202020 20203030 38303030 30303030 0080000000
30303030 30300D 000000.
20080724-051254.668419 D 473... (1 Reply)
Hi there
does anybody know how i can get the line number from an entry or entries in a file ?? for example if i had a file
test1
test2
test3
test1
and i needed to get the line numbers for all instances of test1 in that file
with the answer being (1,4)
Would anybody be able... (7 Replies)
Hi All,
My file looks some thing like this,
File 1: -
A 10
B 30
C 5
D 25
E 72
F 23
now my requirement is to find the line with highest number in it, i;e the result should be
E 72
Thanks in Advance (1 Reply)
Hi. Is there a way in awk to show all lines between a line number and the next line containing a particular regex? We can do these, of course:
awk '/regex1/,/regex2/' filename
awk 'FNR > X && FNR < Y' filename
But can they be combined? Thanks. (3 Replies)
Hello folks,
I have a text file aa.txt that contains below text
(\')|(\-\-)
((\%3D)|(=))
20%0d%
i want to search each line pattern in /opt/1.log and /opt/2.log. Can some one suggest (1 Reply)
Hello All,
What i am doing is , i tail a file from certain chatacter and then cat -n to get the line numbers.I search for a particular string and gets it line number. What i am interested in is the next line immediately after the pattern i search.
But grep gives me result for all line... (5 Replies)
Hi Frnds,
I need to find the line number of a particular line in a file and store that line number to a variable.
if a file named myfile contains following
look at the sun
look at the moon
look at the star
look at the ocean
i need to get the line number of the line 'look at the... (3 Replies)
Discussion started by: mvignesh
3 Replies
LEARN ABOUT DEBIAN
tie::hash::regex
Tie::Hash::Regex(3pm) User Contributed Perl Documentation Tie::Hash::Regex(3pm)NAME
Tie::Hash::Regex - Match hash keys using Regular Expressions
SYNOPSIS
use Tie::Hash::Regex;
my %h;
tie %h, 'Tie::Hash::Regex';
$h{key} = 'value';
$h{key2} = 'another value';
$h{stuff} = 'something else';
print $h{key}; # prints 'value'
print $h{2}; # prints 'another value'
print $h{'^s'}; # prints 'something else'
print tied(%h)->FETCH(k); # prints 'value' and 'another value'
delete $h{k}; # deletes $h{key} and $h{key2};
or (new! improved!)
my $h : Regex;
DESCRIPTION
Someone asked on Perlmonks if a hash could do fuzzy matches on keys - this is the result.
If there's no exact match on the key that you pass to the hash, then the key is treated as a regex and the first matching key is returned.
You can force it to leap straight into the regex checking by passing a qr'ed regex into the hash like this:
my $val = $h{qr/key/};
"exists" and "delete" also do regex matching. In the case of "delete" all vlaues matching your regex key will be deleted from the hash.
One slightly strange thing. Obviously if you give a hash a regex key, then it's possible that more than one key will match (consider
c<$h{qw/./}>). It might be nice to be able to do stuff like:
my @vals = $h{$pat};
to get all matching values back. Unfortuately, Perl knows that a given hash key can only ever return one value and so forces scalar context
on the "FETCH" call when using the tied interface. You can get round this using the slightly less readable:
my @vals = tied(%h)->FETCH($pat);
ATTRIBUTE INTERFACE
From version 0.06, you can use attributes to define your hash as being tied to Tie::Hash::Regex. You'll need to install the module
Attribute::Handlers.
METHODS
FETCH
Get a value from the hash. If there isn't an exact match try a regex match.
EXISTS
See if a key exists in the hash. If there isn't an exact match try a regex match.
DELETE
Delete a key from the hash. If there isn't an exact match try a regex match.
AUTHOR
Dave Cross <dave@mag-sol.com>
Thanks to the Perlmonks <http://www.perlmonks.org> for the original idea and to Jeff "japhy" Pinyan for some useful code suggestions.
COPYRIGHT
Copyright (C) 2001-8, Magnum Solutions Ltd. All Rights Reserved.
LICENSE
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO perl(1).
perltie(1).
Tie::RegexpHash(1)perl v5.10.0 2008-06-30 Tie::Hash::Regex(3pm)