Sponsored Content
Top Forums Shell Programming and Scripting Finding matching patterns in two files Post 302947856 by MadeInGermany on Tuesday 23rd of June 2015 07:53:43 AM
Old 06-23-2015
You cannot use grep because you are matching only a part (the 2nd field) of the lines in the error file.
While awk can easily get the 2nd field.
Code:
awk -F, 'NR==FNR {s=s sep $2; sep="|"; next} $0~s' errorfile logfile

Counting the matches (like grep -c):
Code:
awk -F, 'NR==FNR {s=s sep $2; sep="|"; next} $0~s {c++} END {print c+0}' errorfile logfile

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Finding patterns through out all subdir

Hi all experts, here is a problem which i would appreciate ur expertise. I need to do this: Eg. Find a number: 1234567 which i dunno which file and which folder I do know which main folder it is in but it is hidden deep within a lot of subdir. Is it possible to find the file? + output... (4 Replies)
Discussion started by: unnerdy
4 Replies

2. Shell Programming and Scripting

finding duplicate files by size and finding pattern matching and its count

Hi, I have a challenging task,in which i have to find the duplicate files by its name and size,then i need to take anyone of the file.Then i need to open the file and find for more than one pattern and count of that pattern. Note:These are the samples of two files,but i can have more... (2 Replies)
Discussion started by: jerome Sukumar
2 Replies

3. Shell Programming and Scripting

Finding patterns in a file

Hi, I have a file with 3 columns and I want to find when the average number of rows on column 3 is a certain value. The output will be put into another file indicating the range. Here is what I mean (file is tab separated): hhm1 2 0 hhm1 4 0.5 hhm1 6 0.3 hhm1 8 -1.4... (2 Replies)
Discussion started by: kylle345
2 Replies

4. Shell Programming and Scripting

AWK: matching patterns in 2 different files

In a directory, there are two different file extensions (*.txt and *.xyz) having similar names of numerical strings (*). The (*.txt) contains 5000 multiple files and the (*.xyz) also contains 5000 multiple files. Each of the files has around 4000 rows and 8 columns, with several unique string... (5 Replies)
Discussion started by: asanjuan
5 Replies

5. Shell Programming and Scripting

Finding several patterns and outputting 4 lines after

I an trying to parse a file looking for pattern1, or pattern2, or pattern3 and when found print that line and the next 4 lines after it. I am using korn shell script on AIX and grep -A isn't available. (1 Reply)
Discussion started by: daveisme
1 Replies

6. Shell Programming and Scripting

Matching patterns

I have a file name in $f. If $f has "-" at the beginning, or "=", or does not have extension ".ry" or ".xt" or ".dat" then cerr would not be empty. Tried the following but having some problems. set cerr = `echo $f | awk '/^-|=|!.ry|!.xt|!.dat/'` (4 Replies)
Discussion started by: kristinu
4 Replies

7. Shell Programming and Scripting

Finding files which contains anyone from the given patterns

Hi All, I need help as i am not able to create shell script for a scenario. i have 3000 numbers and want to search all the files which contain anyone of the above pattern. the files are in folder structure. Thanks and Regards Rishi Dhawan (14 Replies)
Discussion started by: Rishi26
14 Replies

8. Shell Programming and Scripting

Find files not matching multiple patterns and then delete anything older than 10 days

Hi, I have multiple files in my log folder. e.g: a_m1.log b_1.log c_1.log d_1.log b_2.log c_2.log d_2.log e_m1.log a_m2.log e_m2.log I need to keep latest 10 instances of each file. I can write multiple find commands but looking if it is possible in one line. m file are monthly... (4 Replies)
Discussion started by: wahi80
4 Replies

9. Shell Programming and Scripting

Bash - Find files excluding file patterns and subfolder patterns

Hello. For a given folder, I want to select any files find $PATH1 -f \( -name "*" but omit any files like pattern name ! -iname "*.jpg" ! -iname "*.xsession*" ..... \) and also omit any subfolder like pattern name -type d \( -name "/etc/gconf/gconf.*" -o -name "*cache*" -o -name "*Cache*" -o... (2 Replies)
Discussion started by: jcdole
2 Replies

10. Shell Programming and Scripting

Delete patterns matching

Delete patterns matching OS version: RHEL 7.3 Shell : Bash I have a file like below (pattern.txt). I need to delete all lines starting with the following words (words separated by comma below) and ) character. LOGGING, NOCOMPRESS, TABLESPACE , PCTFREE, INITRANS, MAXTRANS, STORAGE,... (3 Replies)
Discussion started by: John K
3 Replies
Regexp::Common::net(3pm)				User Contributed Perl Documentation				  Regexp::Common::net(3pm)

NAME
Regexp::Common::net -- provide regexes for IPv4 addresses. SYNOPSIS
use Regexp::Common qw /net/; while (<>) { /$RE{net}{IPv4}/ and print "Dotted decimal IP address"; /$RE{net}{IPv4}{hex}/ and print "Dotted hexadecimal IP address"; /$RE{net}{IPv4}{oct}{-sep => ':'}/ and print "Colon separated octal IP address"; /$RE{net}{IPv4}{bin}/ and print "Dotted binary IP address"; /$RE{net}{MAC}/ and print "MAC address"; /$RE{net}{MAC}{oct}{-sep => " "}/ and print "Space separated octal MAC address"; } DESCRIPTION
Please consult the manual of Regexp::Common for a general description of the works of this interface. Do not use this module directly, but load it via Regexp::Common. This modules gives you regular expressions for various style IPv4 and MAC (or ethernet) addresses. $RE{net}{IPv4} Returns a pattern that matches a valid IP address in "dotted decimal". Note that while 318.99.183.11 is not a valid IP address, it does match "/$RE{net}{IPv4}/", but this is because 318.99.183.11 contains a valid IP address, namely 18.99.183.11. To prevent the unwanted matching, one needs to anchor the regexp: "/^$RE{net}{IPv4}$/". For this pattern and the next four, under "-keep" (See Regexp::Common): $1 captures the entire match $2 captures the first component of the address $3 captures the second component of the address $4 captures the third component of the address $5 captures the final component of the address $RE{net}{IPv4}{dec}{-sep} Returns a pattern that matches a valid IP address in "dotted decimal" If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/[.]/". $RE{net}{IPv4}{hex}{-sep} Returns a pattern that matches a valid IP address in "dotted hexadecimal", with the letters "A" to "F" capitalized. If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/[.]/". "-sep=""" and "-sep=" "" are useful alternatives. $RE{net}{IPv4}{oct}{-sep} Returns a pattern that matches a valid IP address in "dotted octal" If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/[.]/". $RE{net}{IPv4}{bin}{-sep} Returns a pattern that matches a valid IP address in "dotted binary" If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/[.]/". $RE{net}{MAC} Returns a pattern that matches a valid MAC or ethernet address as colon separated hexadecimals. For this pattern, and the next four, under "-keep" (See Regexp::Common): $1 captures the entire match $2 captures the first component of the address $3 captures the second component of the address $4 captures the third component of the address $5 captures the fourth component of the address $6 captures the fifth component of the address $7 captures the sixth and final component of the address This pattern, and the next four, have a "subs" method as well, which will transform a matching MAC address into so called canonical format. Canonical format means that every component of the address will be exactly two hexadecimals (with a leading zero if necessary), and the components will be separated by a colon. The "subs" method will not work for binary MAC addresses if the Perl version predates 5.6.0. $RE{net}{MAC}{dec}{-sep} Returns a pattern that matches a valid MAC address as colon separated decimals. If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/:/". $RE{net}{MAC}{hex}{-sep} Returns a pattern that matches a valid MAC address as colon separated hexadecimals, with the letters "a" to "f" in lower case. If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/:/". $RE{net}{MAC}{oct}{-sep} Returns a pattern that matches a valid MAC address as colon separated octals. If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/:/". $RE{net}{MAC}{bin}{-sep} Returns a pattern that matches a valid MAC address as colon separated binary numbers. If "-sep=P" is specified the pattern P is used as the separator. By default P is "qr/:/". $RE{net}{domain} Returns a pattern to match domains (and hosts) as defined in RFC 1035. Under I{-keep} only the entire domain name is returned. RFC 1035 says that a single space can be a domainname too. So, the pattern returned by $RE{net}{domain} recognizes a single space as well. This is not always what people want. If you want to recognize domainnames, but not a space, you can do one of two things, either use /(?! )$RE{net}{domain}/ or use the "{-nospace}" option (without an argument). REFERENCES
RFC 1035 Mockapetris, P.: DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION. November 1987. SEE ALSO
Regexp::Common for a general description of how to use this interface. AUTHOR
Damian Conway damian@conway.org. MAINTAINANCE
This package is maintained by Abigail (regexp-common@abigail.be). BUGS AND IRRITATIONS
Bound to be plenty. For a start, there are many common regexes missing. Send them in to regexp-common@abigail.be. LICENSE and COPYRIGHT This software is Copyright (c) 2001 - 2009, Damian Conway and Abigail. This module is free software, and maybe used under any of the following licenses: 1) The Perl Artistic License. See the file COPYRIGHT.AL. 2) The Perl Artistic License 2.0. See the file COPYRIGHT.AL2. 3) The BSD Licence. See the file COPYRIGHT.BSD. 4) The MIT Licence. See the file COPYRIGHT.MIT. perl v5.14.2 2011-12-11 Regexp::Common::net(3pm)
All times are GMT -4. The time now is 01:19 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy