grep to show patterns being matched (-f option)


 
Thread Tools Search this Thread
# 1  
grep to show patterns being matched (-f option)

I have a list of patterns (regexes) in a file and use with `grep -f <file_with_list_of_regexes.txt> input.txt` to search in my input for those patterns. grep is doing a fantastic job at it and finds me the matching input text but I also want to see in the output the regex (from file_with_list_of_regexes.txt) when it shows a matching text from the input. That is, let's say, I have the following two regexes in file_with_list_of_regexes.txt:

Quote:
computer.+
^coffee.+
and my input text (input.txt) has the following two lines:

Quote:
sell your computer and buy a guitar
coffee time is anytime
Now, if I use

Code:
grep -E -f file_with_list_of_regexes.txt input.txt

I am looking for a way that also displays the lines in file_with_list_of_regexes.txt in the output of the above command. something like:

Quote:
computer.+ sell your computer and buy a guitar
^coffee.+ coffee time is anytime
It would do even if there is a way to show the line number in file_with_list_of_regexes. something like:

Quote:
1 sell your computer and buy a guitar
2 coffee time is anytime
I don't think there's a built-in option in grep that does it. Just wondering if there are 'advanced' greps out there that has such an option or other ways to do this ..

I appreciate any ideas.

Last edited by mirage; 05-10-2012 at 07:46 AM..
# 2  
See if this awk fills your needs (presumes regex file has no spaces) :

Code:
awk 'NR==FNR { a[$1]; next } { for ( i in a) if (match($0,i)) print FNR FS i FS $0 }' file_with_list_of_regexes.txt input.txt
1 computer.+ sell your computer and buy a guitar
2 ^coffee.+ coffee time is anytime

Hope that helps.

Regards
Peasant.
 

Previous Thread | Next Thread
Thread Tools Search this Thread
Search this Thread:
Advanced Search

Test Your Knowledge in Science: Computers
Difficulty: Hard
DHCP stands for Dynamic Host Configuration Port.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to print two matched patterns only from each line?

My input looks like this. # Lot Of CODE Before AppType_somethinglese=$(cat << EOF AppType_test1='test-tool/blatest-tool-ear' AppType_test2='test/blabla-ear' # Lot Of CODE After I want to print text betwen 1) _ and = and 2)/ and ' from each line and exclude lines with "EOF". Output... (2 Replies)
Discussion started by: kchinnam
2 Replies

2. Shell Programming and Scripting

Extract all the sentences that matched two patterns

Hi I have two lists of patterns named A and B consisting of around 200 entries in each and I want to extract all the sentences from a big text file which match atleast one pattern from both A and B. For example, pattern list A consists of : ama ani ahum mari ... ... and pattern... (1 Reply)
Discussion started by: my_Perl
1 Replies

3. Shell Programming and Scripting

Find matched patterns and print them with other patterns not the whole line

Hi, I am trying to extract some patterns from a line. The input file is space delimited and i could not use column to get value after "IN" or "OUT" patterns as there could be multiple white spaces before the next digits that i need to print in the output file . I need to print 3 patterns in a... (3 Replies)
Discussion started by: redse171
3 Replies

4. Shell Programming and Scripting

Matched multiple patterns that could be in a same line

Hi, I need help to match pattern started with "RW" in file 1 and with pattern in $1 in file 2 as follows:- File 1 BH /TOTAL=466(423); /POSITIVE=300(257); /UNKNOWN=25(25); BH /F_P=141(141); /F_N=136; /P=4; CC /TAX=!?; /MAX-R=2; CC /VER=2; RW P9610, AR_BSU , T; PAE25, AE_E57... (10 Replies)
Discussion started by: redse171
10 Replies

5. Shell Programming and Scripting

Find matched patterns in multiple files

Hi, I need help to find matched patterns in 30 files residing in a folder simultaneously. All these files only contain 1 column. For example, File1 Gr_1 st-e34ss-11dd bt-wwd-fewq pt-wq02-ddpk pw-xsw17-aqpp Gr_2 srq-wy09-yyd9 sqq-fdfs-ffs9 Gr_3 etas-qqa-dfw ddw-ppls-qqw... (10 Replies)
Discussion started by: redse171
10 Replies

6. Shell Programming and Scripting

Create table based on matched patterns

hi, i need help to create a table from an input file like this:- DB|QZX3 140 165 RT_2 VgGIGvGVR DB|QZX3 155 182 UT_1 rlgslqqLaIvlGiFT DB|QZX3 345 362 RT_1 GRKpllligS DB|ZXK6 174 199 RT_2 IstvtvptYlgEiatvkaR DB|ZXK6 189 216 UT_1 algtiyqLfLviGiLF DB|AZ264 15 17... (7 Replies)
Discussion started by: redse171
7 Replies

7. Shell Programming and Scripting

Print line between two patterns when a certain pattern matched

Hello Friends, I need to print lines in between two string when a keyword existed in those lines (keywords like exception, error, failed, not started etc). for example, input: .. Begin Edr ab12 ac13 ad14 bc23 exception occured bd24 cd34 dd44 ee55 ff66 End Edr (2 Replies)
Discussion started by: EAGL€
2 Replies

8. Shell Programming and Scripting

Delete lines and the first pattern between 2 matched patterns

Hi, i need help to delete all the lines between 2 matched patterns and the first pattern must be deleted too. sample as follows: inputfile.txt >kump_1 ........................... ........................... >start_0124 dgfhghgfh fgfdgfh fdgfdh >kump_2 ............................. (7 Replies)
Discussion started by: redse171
7 Replies

9. Shell Programming and Scripting

Grab contents between two matched patterns

I am wanting to fetch the content of the table within a file the table begins with data label like N Batch Mn(I) RMSdev I/rms Rmerge Number Nrej Cm%poss AnoCmp MaxRes CMlplc SmRmerge SmMaxRes $$ $$ . #columns of data . . . . . $$ I tried the command awk... (18 Replies)
Discussion started by: piynik
18 Replies

10. Shell Programming and Scripting

How to group matched patterns in different files

Hi, I have a master file that i need to split into multiple files based on matched patterns. sample of my data as follows:- scaff_1 a e 123 130 c_scaff_100 scaff_1 a e 132 138 c_scaff_101 scaff_1 a e 140 150 ... (2 Replies)
Discussion started by: redse171
2 Replies

Featured Tech Videos