04-07-2008
Perl: Match a line with multiple search patterns
Hi
I'm not very good with the serach patterns and I'd need a sample how to find a line that has multiple patterns.
Say I want to find a line that has "abd", "123" and "QWERTY" and there can be any characters or numbers between the serach patterns, I have a file that has thousands of lines and each of them can contain one or two of above patterns.
What I want is to print out a line that has all those 3 search patterns.
Thanks,
//Juha
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Good day, great gurus,
I'm new to Perl, and programming in general. I'm trying to retrieve a column of data from my text file which spans a non-specific number of lines. So I did a regexp that will pick out the columns. However,my pattern would vary. I tried using a foreach loop unsuccessfully.... (2 Replies)
Discussion started by: Sp3ck
2 Replies
2. Shell Programming and Scripting
Hi,
I have a text file as follows:
11:38:11.054 run1_rdseq avg_2-5 999988.0000 1024.0000
11:50:52.053 run3_rdrand 999988.0000 1135.0 128.0417
11:53:18.050 run4_wrrand avg_2-5 999988.0000 8180.5833
11:55:42.051 run4_wrrand avg_2-5 999988.0000 213.8333
11:55:06.053... (2 Replies)
Discussion started by: annazpereira
2 Replies
3. Shell Programming and Scripting
Hi,
I have to write one script that has to search a list of numbers in certain zipped files.
For eg. one file file1.txt contains the numbers. File1.txt contains 5,00,000 numbers and I have to search each number in zipped files(The number of zipped files are around 1000 each file is 5 MB)
I have... (10 Replies)
Discussion started by: vsachan
10 Replies
4. Shell Programming and Scripting
Dear all,
I need to search multiple patterns and then I need to print their respective next lines. For an example, in the below table, I will look for 3 different patterns :
1) # ATC_Codes:
2) # Generic_Name:
3) # Drug_Target_1_Gene_Name:
#BEGIN_DRUGCARD DB00001
# AHFS_Codes:... (3 Replies)
Discussion started by: AshwaniSharma09
3 Replies
5. Shell Programming and Scripting
I have two lists in a file that look like
a b
b a
e f
c d
f e
d c
I would like a final list
a b
c d
e f
I've tried multiple grep and awk but can't get it to work (8 Replies)
Discussion started by: godzilla07
8 Replies
6. Shell Programming and Scripting
Hi,
I tried to search multiple pattern using awk
trans=1234
reason=LN MISMATCH
rec=`awk '/$trans/ && /'"$reason"'/' file`
whenevr i tried to run on command promt it is executing but when i tried to implment same logic in shell script,it is failing i.e $rec is empty
... (6 Replies)
Discussion started by: ns64110
6 Replies
7. Shell Programming and Scripting
Hi All,
I am starting a service which will redirect its out put into 2 logs say A and B.
Now for succesful startup of the service i need to search pattern1 in log A and pattern2 in log B which are writen continuosly.
Now my requirement is to find the patterns in the increasing logs A and B... (19 Replies)
Discussion started by: Girish19
19 Replies
8. Shell Programming and Scripting
Hello.
grep v2.21
Debian 8
I wish to search for and output these patterns in order;
"From " "To: " "Subject: " "Message-Id: " "Date: " "To: "
grep works, but not in strict order...
$ grep -a -E "^From |^Subject:|^From: |^Message-Id: |^Date: |^To: " InboxResult;
From - Wed Feb 18... (10 Replies)
Discussion started by: DSommers
10 Replies
9. Shell Programming and Scripting
Hi,
I have scenario like below and need to search for multiple patterns
Eg:
Test
Time Started= secs
Time Ended = secc
Green test
Test
Time Started= secs
Time Ended = secc
Green test
Output:
I need to display the text starting with Test and starting with Time... (2 Replies)
Discussion started by: weknowd
2 Replies
10. Shell Programming and Scripting
Hi
I am using Solaris 5.10 & ksh
Wanted to loop through a pattern file by reading it and passing it to the awk to match that value present in column 1 of rawdata.txt , if so print column 1 & 2 in to Avlblpatterns.txt. Using the following code but it seems some mistakes and it is running for... (2 Replies)
Discussion started by: ananan
2 Replies
LEARN ABOUT OSX
git-name-rev
GIT-NAME-REV(1) Git Manual GIT-NAME-REV(1)
NAME
git-name-rev - Find symbolic names for given revs
SYNOPSIS
git name-rev [--tags] [--refs=<pattern>]
( --all | --stdin | <commit-ish>... )
DESCRIPTION
Finds symbolic names suitable for human digestion for revisions given in any format parsable by git rev-parse.
OPTIONS
--tags
Do not use branch names, but only tags to name the commits
--refs=<pattern>
Only use refs whose names match a given shell pattern. The pattern can be one of branch name, tag name or fully qualified ref name. If
given multiple times, use refs whose names match any of the given shell patterns. Use --no-refs to clear any previous ref patterns
given.
--exclude=<pattern>
Do not use any ref whose name matches a given shell pattern. The pattern can be one of branch name, tag name or fully qualified ref
name. If given multiple times, a ref will be excluded when it matches any of the given patterns. When used together with --refs, a ref
will be used as a match only when it matches at least one --refs pattern and does not match any --exclude patterns. Use --no-exclude to
clear the list of exclude patterns.
--all
List all commits reachable from all refs
--stdin
Transform stdin by substituting all the 40-character SHA-1 hexes (say $hex) with "$hex ($rev_name)". When used with --name-only,
substitute with "$rev_name", omitting $hex altogether. Intended for the scripter's use.
--name-only
Instead of printing both the SHA-1 and the name, print only the name. If given with --tags the usual tag prefix of "tags/" is also
omitted from the name, matching the output of git-describe more closely.
--no-undefined
Die with error code != 0 when a reference is undefined, instead of printing undefined.
--always
Show uniquely abbreviated commit object as fallback.
EXAMPLE
Given a commit, find out where it is relative to the local refs. Say somebody wrote you about that fantastic commit
33db5f4d9027a10e477ccf054b2c1ab94f74c85a. Of course, you look into the commit, but that only tells you what happened, but not the context.
Enter git name-rev:
% git name-rev 33db5f4d9027a10e477ccf054b2c1ab94f74c85a
33db5f4d9027a10e477ccf054b2c1ab94f74c85a tags/v0.99~940
Now you are wiser, because you know that it happened 940 revisions before v0.99.
Another nice thing you can do is:
% git log | git name-rev --stdin
GIT
Part of the git(1) suite
Git 2.17.1 10/05/2018 GIT-NAME-REV(1)