Il s'agit de la commande grepmailp qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
grepmail - recherche dans les boîtes aux lettres le courrier correspondant à une expression régulière
SYNOPSIS
grepmail [--help|--version] [-abBDFhHilLmrRuvVw] [-C ]
[-j ] [-s ] [-ré ]
[-X ] [-O ]
[[-e] |-E |-f ]
DESCRIPTION
grepmail recherche les messages électroniques contenant un motif et imprime les messages résultants
sur sortie standard.
Par défaut grepmail recherche à la fois dans l'en-tête et dans le corps le modèle spécifié.
Lorsqu'il est redirigé vers un fichier, le résultat est une autre boîte aux lettres, qui peut, à son tour, être gérée
par des agents utilisateurs standard, tels que orme, ou même utilisé comme entrée pour une autre instance de
grepmail.
Au moins un des -E, -e, -d, -s, ou -u doit être spécifié. Le motif est facultatif si -d,
-sEt / ou -u est utilisé. le -e flag est facultatif s'il n'y a pas de fichier dont le nom est le
schéma. le -E peut être utilisée pour spécifier des expressions de recherche complexes impliquant
Opérateurs logiques. (Voir ci-dessous.)
Si une boîte aux lettres est introuvable, grepmail recherche d'abord le répertoire spécifié par le
la variable d'environnement MAILDIR (si elle est définie), puis recherche le $HOME/mail,
Répertoires $HOME/Mail et $HOME/Mailbox.
OPTIONS ET ARGUMENTS
De nombreuses options et arguments sont analogues à ceux de grep.
modèle
Le modèle à rechercher dans le message électronique. Peut être n'importe quelle expression régulière Perl, mais
doit être cité sur la ligne de commande pour se protéger contre le globbing (expansion du shell). À
recherchez plus d'un motif, utilisez la forme "(motif1|motif2|...)".
Notez que les fonctionnalités de modèle complexes telles que "(?>...)" nécessitent que vous utilisiez une version de
perl qui les prend en charge. Vous pouvez utiliser le motif "()" pour indiquer que vous ne voulez pas
pour correspondre à n'importe quoi. Ceci est utile si vous souhaitez initialiser le cache sans imprimer
toute sortie.
boîte à lettres
Les boîtes aux lettres doivent être au format de boîte aux lettres traditionnel UNIX "/bin/mail". Les boîtes aux lettres peuvent être
compressé par gzip, ou bzip2, auquel cas gunzip, ou bzip2 doit être installé sur le
système.
Si aucune boîte aux lettres n'est spécifiée, prend l'entrée de stdin, qui peut être compressée ou non.
Le comportement de grepmail n'est pas défini lorsque des données ASCII et binaires sont transmises ensemble en entrée.
-a
Utilisez la date d'arrivée au lieu de la date d'envoi.
-b
Affirme que le modèle doit correspondre dans le corps de l'e-mail.
-B
Imprimez le corps mais avec uniquement des en-têtes minimes (« De », « De : », « Objet : », « Date : »).
Ce drapeau peut être utilisé avec -H, auquel cas il n'imprimera que des en-têtes courts et aucun
corps des e-mails.
-C
Spécifie l'emplacement du fichier cache. La valeur par défaut est $HOME/.grepmail-cache.
-D
Activez le mode de débogage, qui imprime les messages de diagnostic.
-d
Les spécifications de date doivent être de la forme :
- une date comme "aujourd'hui", "hier", "5/18/93", "il y a 5 jours", "il y a 5 semaines",
- OU "avant", "après", ou "depuis", suivi d'une date telle que définie ci-dessus,
- OU " entre et ", où est défini comme ci-dessus.
Les expressions de date simples seront d'abord analysées par Date::Parse. Si cela échoue, grepmail
tentera d'analyser la date avec Date::Manip, si le module est installé sur le
système. Utilisez un modèle vide (c'est-à-dire -d "") pour rechercher des e-mails sans ligne "Date : ..." dans
l'en-tête.
Les spécifications de date sans heures sont interprétées comme ayant une heure de minuit de cette
jour (qui est le matin), à l'exception des spécifications "après" et "depuis" qui sont
interprété comme minuit le jour suivant. Par exemple, "entre aujourd'hui et demain"
est le même que simplement "aujourd'hui", et renvoie les e-mails dont la date correspond au jour actuel. ("maintenant"
est interprété comme « aujourd'hui ».) La spécification de la date « après le 5 juillet » renverra les e-mails
dont la date est minuit le 6 juillet ou plus tard.
-E
Spécifiez une expression de recherche complexe à l'aide d'opérateurs logiques. La syntaxe actuelle permet
à l'utilisateur de spécifier des expressions de recherche à l'aide de la syntaxe Perl. Trois valeurs peuvent être utilisées :
$email (le message électronique entier), $email_header (juste l'en-tête) ou $email_body (juste
le corps). Une recherche est spécifiée sous la forme "$email =~ /pattern/", et plusieurs
les recherches peuvent être combinées en utilisant "&&" et "||" pour "et" et "ou".
Par exemple, l'expression
$email_header =~ /^De : .*\@coppit.org/ && $email =~ /grepmail/i
trouvera tous les e-mails provenant de coppit.org (vous devez échapper le signe "@" avec
une barre oblique inverse), et qui contiennent le mot-clé "grepmail" n'importe où dans le message, dans n'importe quel
capitalisation.
-E est incompatible avec -b, -h et -e. -i, -M, -S et -Y n'ont pas encore été
mis en œuvre.
REMARQUE : la syntaxe des expressions de recherche peut changer à l'avenir. En particulier, le soutien
pour la taille, la date et d'autres contraintes peuvent être ajoutées. La syntaxe peut également être simplifiée dans
afin de rendre la formation d'expression plus facile à utiliser (et peut-être au détriment de la réduction
Fonctionnalité).
-e
Spécifiez explicitement le modèle de recherche. Ceci est utile pour spécifier des modèles qui commencent
avec "-", qui serait autrement interprété comme un drapeau.
-f
Obtenez des modèles de FILE, un par ligne. Le fichier vide ne contient aucun motif, et
correspond donc à rien.
-F
Forcer grepmail à traiter tous les fichiers et flux comme s'il s'agissait de boîtes aux lettres. (c'est à dire
Ignorez les vérifications pour les fichiers ASCII non-boîte aux lettres ou les fichiers binaires qui ne ressemblent pas à ce qu'ils sont
compressé à l'aide de schémas connus.)
-h
Affirme que le modèle doit correspondre dans l'en-tête de l'e-mail.
-H
Imprimez l'en-tête mais pas le corps des e-mails correspondants.
-i
Rendre la recherche insensible à la casse (par analogie à grep -i).
-j
Affirme que l'en-tête de l'e-mail « Status : » doit contenir les indicateurs donnés. L'ordre et l'étui sont
pas important, alors utilisez -j AR or -j ra pour rechercher les e-mails qui ont été lus et
répondu
-l
Sortir les noms de fichiers ayant un email correspondant à l'expression, (par analogie à grep
-l).
-L
Suivez les liens symboliques. (Implique -R)
-M
Grepmail ignore les pièces jointes MIME non textuelles. Cela supprime les faux positifs
résultant de binaires codés en tant que pièces jointes ASCII.
-m
Ajouter "X-Mailfolder : " à tous les en-têtes d'e-mails, indiquant quel dossier contenait
l'e-mail correspondant.
-n
Préfixez chaque ligne avec les informations de numéro de ligne. Si plusieurs fichiers sont spécifiés, le
le nom de fichier précédera le numéro de ligne. REMARQUE : Lorsqu'il est utilisé en conjonction avec -m, un
L'en-tête X-Mailfolder a le même numéro de ligne que la ligne suivante (vierge).
-q
Mode silencieux. Supprimer la sortie des messages d'avertissement sur les fichiers non-mailbox,
répertoires, etc...
-r
Générer un rapport des noms des fichiers contenant les emails correspondant à l'expression,
ainsi qu'un décompte du nombre d'e-mails correspondants.
-R
Force grepmail à récurser tous les répertoires rencontrés.
-s
Renvoie les e-mails qui correspondent à la taille (en octets) spécifiée avec ce drapeau. Notez que ce
la taille comprend la longueur de l'en-tête.
Les contraintes de taille doivent être de la forme :
- 12345 : taille de correspondance d'exactement 12345
- <12345, <=12345, >12345, >=12345 : taille de correspondance inférieure, inférieure ou égale,
supérieur ou supérieur ou égal à 12345
- 10000-12345 : taille de correspondance entre 10000 et 12345 inclus
-S
Ignorer les signatures. La signature se compose de tout après une ligne composée de "--
".
-u
Sortir uniquement des e-mails uniques, par analogie à sort -u. Grepmail détermine l'unicité des e-mails
par l'en-tête Message-ID.
-v
Inverser le sens de la recherche, par analogie à grep -v. Cela se traduit par l'ensemble des e-mails
imprimés étant le complément de ceux qui seraient imprimés sans le -v interrupteur.
-V
Imprimez la version et quittez.
-w
Recherchez uniquement les lignes qui contiennent le motif dans le cadre d'un groupe de mots. C'est-à-dire,
le début du motif doit correspondre au début d'un mot et la fin du motif doit
correspondre à la fin d'un mot. (Notez que le début et la fin n'ont pas besoin d'être pour le même mot.)
Si vous êtes familier avec les expressions régulières Perl, ce drapeau met simplement un "\b" avant
et après le modèle de recherche.
-X
Spécifiez une expression régulière pour le séparateur de signature. Par défaut, ce modèle est
'^-- $'.
-Y
Spécifiez un modèle qui indique des en-têtes spécifiques à rechercher. La recherche va
traiter automatiquement les en-têtes qui s'étendent sur plusieurs lignes comme une seule longue ligne. Ce drapeau
implique -h.
Dans le style de procmail, les chaînes spéciales du modèle seront développées comme suit :
Si l'expression régulière contient "^TO:", elle sera remplacée par
^((Original-) ?(Resenté-) ?(À|Cc|Cci)|(X-Enveloppe|Apparemment(-Resenté) ?)-À) :
qui doit correspondre à tous les en-têtes avec les adresses de destination.
Si l'expression régulière contient "^FROM_DAEMON:", elle sera remplacée par
(^(Mailing-List :|Precedence :.*(junk|bulk|list)|À : Plusieurs destinataires de |(((Resent-)?(From|Sender)|X-Envelope-From):|>?De )([^>]*[^(.%@a-z0-9])?(Post(ma?(st(e?r)?|n)|office)|(envoyer)?Mail(er) ? |daemon|m(mdf|ajordomo)|n?uucp|LIST(SERV|proc)|NETSERV|o(wner|ps)|r(e(quest|sponse)|oot)|b(ounce|bs\.smtp )|echo|mirror|s(erv(ices?|er)|mtp(error)?|ystem)|A(dmin(istrator)?|MMGR|utoanswer))(([^).!:a-z0- 9][-_a-z0-9]*)?[%@>\t ][^<)]*(\(.*\).*)?) ?
qui devrait récupérer les courriers provenant de la plupart des démons.
Si l'expression régulière contient "^FROM_MAILER:", elle sera remplacée par
(^(((Resent-)?(From|Sender)|X-Envelope-From):|>?From)([^>]*[^(.%@a-z0-9])?(Post(ma(st(er)?|n)|office)|(send)?Mail(er)?|daemon|mmdf|n?uucp|ops|r(esponse|oot)|(bbs\.)?smtp(error)?|s(erv(ices?|er)|ystem)|A(dmin(istrator)?|MMGR))(([^).!:a-z0-9][-_a-z0-9]*)?[%@>\t][^<)]*(\(.*\).*)?)?$([^>]|$))
(une version allégée de "^FROM_DAEMON:"), qui devrait intercepter les messages provenant de
la plupart des démons de messagerie.
Donc, pour rechercher tous les e-mails à destination ou en provenance de "Andy":
grepmail -Y '(^TO:|^From :)' Andy boîte aux lettres
--Aidez-moi
Imprimez un message d'aide résumant l'utilisation.
--
Tous les arguments suivants -- sont traités comme des dossiers de courrier.
EXEMPLES
Comptez le nombre d'e-mails. ("." correspond à chaque e-mail.)
grepmail -r . Mail envoyé
Recevez tous les e-mails entre 2000 et 3000 octets sur les livres
grepmail livres -s 2000-3000 envoyé-mail
Recevez tous les e-mails que vous avez envoyés hier
grepmail -d hier envoyé-mail
Recevez tous les e-mails que vous avez postés avant le premier jeudi de juin 1998 concernant
recherche (requiert Date::Manip):
grepmail research -d "avant le 1er jeudi de juin 1998" envoi-mail
Recevez tous les e-mails que vous avez postés avant le 1998er juin XNUMX concernant la recherche :
recherche grepmail -d "avant 6/1/98" envoi d'un e-mail
Recevez tous les e-mails que vous avez reçus depuis le 8/20/98 qui ne concernaient pas la recherche ou votre travail, en ignorant
Cas:
grepmail -iv "(recherche|emploi)" -d "depuis le 8/20/98"
Recevez tous les e-mails sur le mime mais pas sur Netscape. Contraindre la recherche à correspondre au corps,
puisque la plupart des en-têtes contiennent le texte "mime":
grepmail -b mime message-sauvegardé | grepmail Netscape -v
Imprimez une liste de toutes les boîtes aux lettres contenant un message de Rodney. Contraindre la recherche à
les en-têtes, car les e-mails cités peuvent correspondre au modèle :
grepmail -hl "^De.*Rodney" e-mail enregistré*
Trouvez tous les e-mails avec le texte « Pilote » dans l'en-tête et dans le corps :
grepmail -hb "Pilote" e-mail enregistré*
Imprimez le nombre de messages sur grepmail dans toutes les boîtes aux lettres enregistrées :
grepmail -br grepmail message-enregistré*
Supprimez les doublons d'une boîte aux lettres :
grepmail -u courrier enregistré
Convertissez une boîte aux lettres Gnus au format mbox :
grepmail. gnus-mailbox-dir/* > mbox
Rechercher tous les e-mails à destination ou en provenance d'une adresse (en tenant compte des en-têtes enveloppés et
différents noms d'en-tête):
grepmail -Y '(^TO:|^From :)' [email protected] e-mail enregistré
Retrouvez tous les e-mails des postmasters :
grepmail -Y '^FROM_MAILER:' . e-mail enregistré
Utilisez grepmailp en ligne en utilisant les services onworks.net