04-28-2008
Two approaches....
1. Search for any of the words on each line and every time you find one, add it to a hash... e.g. $somehash{"Renaldo"} = 1;
When you've finished scanning the whole file, check the resulting hash for the existence of all the words....
if (exists $somehash{"Renaldo"} && exists $somehash{"loosers"} && exists ... ) { send email ... }
Something like that....
OR....
You could try a pattern like
$FILEBUFFER =~ /(A|B|C|D).+(A|B|C|D).+(A|B|C|D).... /is
You simply repeat the alternatives over and over again separated by one or more of any character, and that way you catch all of them if present no matter what the order.... You have to test the resulting capture to see if all words are present... Note the "is" at the end of the pattern... "i" causes case to be ignored, and "s" says to count a newline as one of the "any characters" which lets you match across lines... Note that in this case $FILEBUFFER contains the WHOLE file (see READ()), not a line....
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hi!
I'm new here and glad to meet everyone!
I've been wrestling with a problem lately however! How do I recursively (recursive means to keep going through the subdirectories until no more are there) search a bunch of textfiles in a long directory structure for a specific string.. but only... (1 Reply)
Discussion started by: skwadim
1 Replies
2. Shell Programming and Scripting
Hi All,
I need to search for a string in a file that I've opened and base a decision on the result. The logic is this:
"if the word 'Shared' appears on the first line then
do this on the whole file
else
do this on the whole file
"
The code I currently have isn't working:... (4 Replies)
Discussion started by: pondlife
4 Replies
3. Shell Programming and Scripting
Hi,
Need to extract a string from one file and search the same in other files.
Ex:
I have file1 of hundred lines with no delimiters not even space.
I have 3 more files.
I should get 1 to 10 characters say substring from each line of file1 and search that string in rest of the files and get... (1 Reply)
Discussion started by: mohancrr
1 Replies
4. Shell Programming and Scripting
Hi,
I'm very new to UNIX scripting and find quite difficult to understand simple UNIX syntax. Really appreciat if somebody could help me to give simple codes for my below problems:-
1) I need to search for a string "TTOH 8031950001" in a files which filename will be "*host*'. For example, the... (3 Replies)
Discussion started by: cuji
3 Replies
5. Shell Programming and Scripting
hello, i'm a novice on bsh scripting so thanks for any help here
basically i have a shell var $x that looks like this
> echo $x
nabc1234:!:73394:17155:Gary Mason:/home/garym:/bin/ksh
and i'm trying to keep the first 8 characters and the text from the 4th : to the 5th :
i've been trying... (9 Replies)
Discussion started by: sasglm
9 Replies
6. Shell Programming and Scripting
Hi Forum.
Is there a quick way to do the following search/replace within a block of data? I tried to google the solution but didn't really know what to look for.
I have the following text file (I want to search for a particular string "s_m_f_acct_txn_daily_a1" and replace the... (5 Replies)
Discussion started by: pchang
5 Replies
7. Shell Programming and Scripting
without using conventional file searching commands like find etc, is it possible to locate a file if i just know that the file that i'm searching for contains a particular text like "Hello world" or something? (5 Replies)
Discussion started by: arindamlive
5 Replies
8. Shell Programming and Scripting
Hi
I would like to read a file using perl and search for a string (last entry). Then read that into an array and do further grep
File content for ex:
comp=a,value=30,runtime=12,type=lic
comp=d,value=15,runtime=2,type=lic
comp=a,value=90,runtime=43,type=lic... (1 Reply)
Discussion started by: vivek_damodaran
1 Replies
9. Shell Programming and Scripting
Hi all,
i have a generated report in unix in the following command like
input.txt
47.85,10
0124,42.35,8
0125,3.5,2
the input file format is fixed
I need the my output file with append text as below
output.txt
0124 amount:42.35
0125 amount:3.5
0124 count : 8
0125... (34 Replies)
Discussion started by: hemanthsaikumar
34 Replies
10. Shell Programming and Scripting
I have two files
1. input.txt
2. keyword.txt
input.txt has contents like
.src_ref 0 "call.s" 24 first
0x000000 0x5a80 0x0060 BRA.l 0x60
.src_ref 0 "call.s" 30 first
0x000002 0x1bc5 RETI
.src_ref 0 "call.s" 31 first
0x000003 0x6840 ... (2 Replies)
Discussion started by: acdc
2 Replies
LEARN ABOUT MOJAVE
tie::hash::namedcapture
Tie::Hash::NamedCapture(3pm) Perl Programmers Reference Guide Tie::Hash::NamedCapture(3pm)
NAME
Tie::Hash::NamedCapture - Named regexp capture buffers
SYNOPSIS
tie my %hash, "Tie::Hash::NamedCapture";
# %hash now behaves like %+
tie my %hash, "Tie::Hash::NamedCapture", all => 1;
# %hash now access buffers from regexp in $qr like %-
DESCRIPTION
This module is used to implement the special hashes "%+" and "%-", but it can be used to tie other variables as you choose.
When the "all" parameter is provided, then the tied hash elements will be array refs listing the contents of each capture buffer whose name
is the same as the associated hash key. If none of these buffers were involved in the match, the contents of that array ref will be as many
"undef" values as there are capture buffers with that name. In other words, the tied hash will behave as "%-".
When the "all" parameter is omitted or false, then the tied hash elements will be the contents of the leftmost defined buffer with the name
of the associated hash key. In other words, the tied hash will behave as "%+".
The keys of "%-"-like hashes correspond to all buffer names found in the regular expression; the keys of "%+"-like hashes list only the
names of buffers that have captured (and that are thus associated to defined values).
SEE ALSO
perlreapi, re, "Pragmatic Modules" in perlmodlib, "%+" in perlvar, "%-" in perlvar.
perl v5.18.2 2013-11-04 Tie::Hash::NamedCapture(3pm)