Using strings in one file as regex to search field of another file
I have a data file, file1.txt, such as the following:
I have another file, file2.txt, that contains only the strings in field 3 ($3), stripped of all characters beside [A-Z<>] due to the abundance of metacharacters in $3 (e.g., literal "[" and "/").
File2.txt contents:
My goal is to print lines from file1.txt that do not have strings in $2 that contain the strings from file2.txt as follows:
Desired output:
I've attempted to accomplish this with the following bit of awk code:
I've used code similar to this on other files of mine where I needed to execute a similar function. However, this is returning no output whatsoever and cannot seem to pinpoint the problem here.
I would be very much appreciative of a solution that uses the two file approach I've described above or indeed, one that acts upon file1.txt using $3 as regex that are to be not matched by the strings in $2. Something of the sort:
You could also try this slight simplification of Aia's suggestion:
Note that your code uses the filenames file1.txt and file2.txt, but your description says that the second file is named File2.txt. The code above uses the filenames given in the description of your problem and produces the output you said you wanted.
If you want to try this on a Solaris/SunOS system, change awk to /usr/xpg4/bin/awk or nawk.
This User Gave Thanks to Don Cragun For This Post:
Here is my sample file data:
My requirement is to have a regex expression that is able to search for visible starting string "SSLInsecureRenegotiation Off" between strings "<VirtualHost " and "</VirtualHost>".
In the sample data two lines should be matched.
Below is what I tried but... (5 Replies)
I cannot seem to get what should be a simple awk one-liner to work correctly and cannot figure out why. I would like to use patterns from a specific field in one file as regex to search for matching strings in the entire line ($0) of another file.
I would like to output the lines of File2 which... (1 Reply)
Hi guys,
I have a text file named file1.txt that is formatted like this:
001 , ID , 20000
002 , Name , Brandon
003 , Phone_Number , 616-234-1999
004 , SSNumber , 234-23-234
005 , Model , Toyota
007 , Engine ,V8
008 , GPS , OFF
and I have file2.txt formatted like this:
... (2 Replies)
Hi ,
I have been trying to write a perl script to do this job. But i am not able to achieve the desired result. Below is my code.
my $current_value=12345;
my @users=("bob","ben","tom","harry");
open DBLIST,"<","/var/tmp/DBinfo";
my @input = <DBLIST>;
foreach (@users)
{
my... (11 Replies)
I have a file search_strings.txt filled with search strings which have a blank in between and look like this:
S. g. Erh.
o. J.
v. d. Chijs
g. Ehr.I would like to search the strings in the second given Textfile.txt and it shall return the column number.
Can anybody help with the correct... (3 Replies)
I have a file called po.txt. Here is the content of the file:
<!DOCTYPE PurchaseOrderMessage (View Source for full doctype...)>
- <PurchaseOrder>
- <Header>
<MessageId>cdb3062b-685b-4cd5-9633-013186750e10</MessageId>
<Timestamp>2011-08-01T13:47:23.536-04:00</Timestamp>
</Header>
-... (4 Replies)
Hi
I want to search multiple strings in a file . But the search should start with "From" Keyword and end with before "Where" keyword.
Please suggest me.
Thanks (2 Replies)
Can someone help me? I been figuring out how I can search and extract a complicated search string from a file. The whole string is delimited by a period. And the file where I'm searching is composed of differnt string such as that. For example, I have this search string:
and I have a file... (3 Replies)
I need to extract the last block of /== START OF SQLPLUS ==/ and /== END OF SQLPLUS ==/. The logifle is written to several times in a day using >> to append. I need a solution using grep/sed.
logfile looks like this
START OF LOGFILE
/== START OF SQLPLUS ==/
ERROR
/== END OF SQLPLUS... (5 Replies)
Hi All,
I want to search all the ksh scripts that has following details.
1. Search for "exit 0"
2. Search for "sqlldr" or sqlplus"
3. In the above files i want to search for all the script that has no "case" in it.
Please advice.
Thanks,
Deep (2 Replies)