Sponsored Content
Top Forums Shell Programming and Scripting Match multiple patterns sequentially in order - grep or awk Post 302949968 by RudiC on Saturday 18th of July 2015 12:54:10 PM
Old 07-18-2015
The order depends on how the sender put the lines. Try
Code:
awk '
BEGIN           {for (MX=i=split ("From To: Subject: Message-ID: Date:", KEYS); i>0; i--) VALS[KEYS[i]]
                }

function prtit()        {printf "\n"
                         for (i=1; i<=MX; i++) print VALS[KEYS[i]]
                        }

$1 in VALS      {if ($1==KEYS[1] && NR>1) prtit()
                 VALS[$1]=$0}

END             {prtit()}
' /home/...default/Mail/Local\ Folders/Inbox

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

grep for multiple patterns

I want to get a list of all the files in the current directory that have two patterns. I can do first grep of one pattern and then with the output do the grep of the second pattern. if the output of 1st pattern search results in many files, it is very difficult to do a grep of the 2nd pattern for... (1 Reply)
Discussion started by: tselvanin
1 Replies

2. Shell Programming and Scripting

Grep multiple patterns

Hi, Can we grep multiple patterns in UNIX. for example: cat /x/y/oratab | grep -i "pattern1|pattern2" .... etc I require the syntax for multiple patterns. | is not working as I explained in example. Malay (4 Replies)
Discussion started by: malaymaru
4 Replies

3. Shell Programming and Scripting

Grep for Multiple patterns

Hi All, I have a file. I need to find multiple patterns in a row and need those rows to divert to new file. I tried using grep -e / -E / -F options as given in man. But its not working. ==> cat testgrep.txt william,fernandes,xxxxx mark,morsov,yyyy yy=,xx= yyyy=,xxxx== ==>... (7 Replies)
Discussion started by: WillImm123
7 Replies

4. Shell Programming and Scripting

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... (10 Replies)
Discussion started by: Juha
10 Replies

5. Shell Programming and Scripting

grep for multiple patterns

I have a file with many rows. I want to grep for multiple patterns from the file. For eg: XX=123|YY=222|ZZ=566 AA=123|EE=222|GG=566 FF=123|RR=222|GG=566 DD=123|RR=222|GG=566 I want the lines which has both XX and ZZ. I know I can get it like this. grep XX file | grep YY But... (10 Replies)
Discussion started by: tene
10 Replies

6. Shell Programming and Scripting

print lines which match multiple patterns

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

7. Shell Programming and Scripting

Match multiple patterns in a file and then print their respective next line

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

8. Shell Programming and Scripting

Grep from multiple patterns multiple file multiple output

Hi, I want to grep multiple patterns from multiple files and save to multiple outputs. As of now its outputting all to the same file when I use this command. Input : 108 files to check for 390 patterns to check for. output I need to 108 files with the searched patterns. Xargs -I {} grep... (3 Replies)
Discussion started by: Diya123
3 Replies

9. Shell Programming and Scripting

How to use grep with multiple patterns?

I am trying to grep a variable with multiple lines with multiple patterns below is the pattern list in a variable called "grouplst", each pattern is speerated by "|" grouplst="example1|example2|example3|example4|example5|example6|example7" I need to use the patterns above to grep a... (2 Replies)
Discussion started by: ajetangay
2 Replies

10. Shell Programming and Scripting

awk to print match or non-match and select fields/patterns for non-matches

In the awk below I am trying to output those lines that Match between file1 and file2, those Missing in file1, and those missing in file2. Using each $1,$2,$4,$5 value as a key to match on, that is if those 4 fields are found in both files the match, but if those 4 fields are not found then missing... (0 Replies)
Discussion started by: cmccabe
0 Replies
Mail::Message::Head::SpamGroup(3pm)			User Contributed Perl Documentation		       Mail::Message::Head::SpamGroup(3pm)

NAME
Mail::Message::Head::SpamGroup - spam fighting related header fields INHERITANCE
Mail::Message::Head::SpamGroup is a Mail::Message::Head::FieldGroup is a Mail::Reporter SYNOPSIS
my $sg = Mail::Message::Head::SpamGroup->new(head => $head, ...); $head->addSpamGroup($sg); my $sg = $head->addSpamGroup( <options> ); $sg->delete; my @sgs = $head->spamGroups; DESCRIPTION
A spam group is a set of header fields which are added by spam detection and spam fighting software. This class knows various details about that software. METHODS
Constructors $obj->clone() See "Constructors" in Mail::Message::Head::FieldGroup $obj->fighter(NAME, [SETTINGS]) Mail::Message::Head::SpamGroup->fighter(NAME, [SETTINGS]) Get the SETTINGS of a certain spam-fighter, optionally after setting them. The knownFighters() method returns the defined names. The names are case-sensitive. -Option --Default fields <required> isspam <required> version undef fields => REGEXP The regular expression which indicates which of the header fields are added by the spam fighter software. isspam => CODE The CODE must return true or false, to indicate whether the spam fighter thinks that the message contains spam. The CODE ref is called with the spamgroup object (under construction) and the header which is inspected. version => CODE Can be called to collect the official name and the version of the software which is used to detect spam. The CODE ref is called with the spamgroup object (under construction) and the header which is inspected. example: adding your own spam-fighter definitions Mail::Message::Head::SpamGroup->fighter( 'MY-OWN', fields => qw/^x-MY-SPAM-DETECTOR-/, isspam => sub { my ($sg, $head) = @_; $head->fields > 100 } ); $obj->from(HEAD|MESSAGE, OPTIONS) Returns a list of "Mail::Message::Head::SpamGroup" objects, based on the specified MESSAGE or message HEAD. -Option--Default types undef types => ARRAY-OF-NAMES Only the specified types will be tried. If the ARRAY is empty, an empty list is returned. Without this option, all sets are returned. $obj->habeasSweFieldsCorrect([MESSAGE|HEAD]) Mail::Message::Head::SpamGroup->habeasSweFieldsCorrect([MESSAGE|HEAD]) Returns a true value if the MESSAGE or HEAD contains "Habeas-SWE" fields which are correct. Without argument, this is used as instance method on an existing Spam-Group. example: checking Habeas-SWE fields if(Mail::Message::Head::SpamGroup->habeasSweFieldsCorrect($message)) { $message->label(spam => 0); } my $sg = $message->head->spamGroups('Habeas-SWE'); if($sg->habeasSweFieldsCorrect) { ... }; use List::Util 'first'; if(first {$_->habeasSweFieldsCorrect} $head->spamGroups) { ... } $obj->implementedTypes() Mail::Message::Head::SpamGroup->implementedTypes() See "Constructors" in Mail::Message::Head::FieldGroup $obj->isSpamGroupFieldName(NAME) Mail::Message::Head::SpamGroup->isSpamGroupFieldName(NAME) $obj->knownFighters() Mail::Message::Head::SpamGroup->knownFighters() Returns an unsorted list of all names representing pre-defined spam-fighter software. You can ask details about them, and register more fighters with the fighter() method. Mail::Message::Head::SpamGroup->new(FIELDS, OPTIONS) Construct an object which maintains one set of fields which were added by spam fighting software. -Option --Defined in --Default head Mail::Message::Head::FieldGroup undef log Mail::Reporter 'WARNINGS' software Mail::Message::Head::FieldGroup undef trace Mail::Reporter 'WARNINGS' type Mail::Message::Head::FieldGroup undef version Mail::Message::Head::FieldGroup undef head => HEAD log => LEVEL software => STRING trace => LEVEL type => STRING version => STRING $obj->spamDetected([BOOLEAN]) Returns (after setting) whether this group of spam headers thinks that this is spam. See Mail::Message::Head::Complete::spamDetected(). example: die if $head->spamDetected; foreach my $sg ($head->spamGroups) { print $sg->type." found spam " if $sg->spamDetected; } The header $obj->add((FIELD, VALUE) | OBJECT) See "The header" in Mail::Message::Head::FieldGroup $obj->addFields([FIELDNAMES]) See "The header" in Mail::Message::Head::FieldGroup $obj->attach(HEAD) See "The header" in Mail::Message::Head::FieldGroup $obj->delete() See "The header" in Mail::Message::Head::FieldGroup $obj->fieldNames() See "The header" in Mail::Message::Head::FieldGroup $obj->fields() See "The header" in Mail::Message::Head::FieldGroup $obj->head() See "The header" in Mail::Message::Head::FieldGroup Access to the header $obj->software() See "Access to the header" in Mail::Message::Head::FieldGroup $obj->type() See "Access to the header" in Mail::Message::Head::FieldGroup $obj->version() See "Access to the header" in Mail::Message::Head::FieldGroup Internals $obj->collectFields([NAME]) See "Internals" in Mail::Message::Head::FieldGroup $obj->detected(TYPE, SOFTWARE, VERSION) See "Internals" in Mail::Message::Head::FieldGroup Error handling $obj->AUTOLOAD() See "Error handling" in Mail::Reporter $obj->addReport(OBJECT) See "Error handling" in Mail::Reporter $obj->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK]) Mail::Message::Head::SpamGroup->defaultTrace([LEVEL]|[LOGLEVEL, TRACELEVEL]|[LEVEL, CALLBACK]) See "Error handling" in Mail::Reporter $obj->details() See "Error handling" in Mail::Message::Head::FieldGroup $obj->errors() See "Error handling" in Mail::Reporter $obj->log([LEVEL [,STRINGS]]) Mail::Message::Head::SpamGroup->log([LEVEL [,STRINGS]]) See "Error handling" in Mail::Reporter $obj->logPriority(LEVEL) Mail::Message::Head::SpamGroup->logPriority(LEVEL) See "Error handling" in Mail::Reporter $obj->logSettings() See "Error handling" in Mail::Reporter $obj->notImplemented() See "Error handling" in Mail::Reporter $obj->print([FILEHANDLE]) See "Error handling" in Mail::Message::Head::FieldGroup $obj->report([LEVEL]) See "Error handling" in Mail::Reporter $obj->reportAll([LEVEL]) See "Error handling" in Mail::Reporter $obj->trace([LEVEL]) See "Error handling" in Mail::Reporter $obj->warnings() See "Error handling" in Mail::Reporter Cleanup $obj->DESTROY() See "Cleanup" in Mail::Reporter $obj->inGlobalDestruction() See "Cleanup" in Mail::Reporter DETAILS
Spam fighting fields Detected spam fighting software The Mail::Message::Head::SpamGroup class can be used to detect fields which were produced by different spam fighting software. o SpamAssassin These fields are added by Mail::SpamAssassin, which is the central implementation of the spam-assassin package. The homepage of this GPL'ed project can be found at <http://spamassassin.org>. o Habeas-SWE Habeas tries to fight spam via the standard copyright protection mechanism: Sender Warranted E-mail (SWE). Only when you have a contract with Habeas, you are permitted to add a few copyrighted lines to your e-mail. Spam senders will be refused a contract. Mail clients which see these nine lines are (quite) sure that the message is sincere. See <http://www.habeas.com> for all the details on this commercial product. o MailScanner The MailScanner filter is developed and maintained by transtec Computers. The software is available for free download from <http://www.sng.ecs.soton.ac.uk/mailscanner/>. Commercial support is provided via <http://www.mailscanner.biz>. DIAGNOSTICS
Error: Package $package does not implement $method. Fatal error: the specific package (or one of its superclasses) does not implement this method where it should. This message means that some other related classes do implement this method however the class at hand does not. Probably you should investigate this and probably inform the author of the package. SEE ALSO
This module is part of Mail-Box distribution version 2.105, built on May 07, 2012. Website: http://perl.overmeer.net/mailbox/ LICENSE
Copyrights 2001-2012 by [Mark Overmeer]. For other contributors see ChangeLog. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See http://www.perl.com/perl/misc/Artistic.html perl v5.14.2 2012-05-07 Mail::Message::Head::SpamGroup(3pm)
All times are GMT -4. The time now is 06:12 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy