Url en bash

Résolu
boosterjack Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
boosterjack Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je butte depuis plusieurs jour sur un pb de CE2.... je suis en bash. Automatiser ma gestion des mailer-daemons et donc recuperer tout les mailer-daemon avant qu'il ne soit envoyé par mail et recuperer les adresses invalides Ex:

une commande find me trouve X fichiers correspondants à une recherche du style "/var/spool/qmail/info/0/123", "/var/spool/qmail/mess/0/123", "/var/spool/qmail/remote/0/123". Pour ceux qui connaissent pas qmail, il decompose completement un mail avant de l'envoyer.... Et mon traitement ne dois porter uniquement sur le fichier "/var/spool/qmail/mess/0/123" donc je veux juste pouvoir reperer que le fichier renvoyer par find est bien celui comportant mess pour faire mon traitement après....

Alors je dois être une bonne buse de compet parce que je n'arrive pas à faire une regex qui me permet de recuperer ca , j'ai tester sed, awk, mais je n'y arrive pas.


Si qqun peu m'aider ca serait fantastique.

6 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Un simple "grep" ne fait pas l'affaire ?
[tmpfs]$ cat plop
/var/spool/qmail/info/0/123
/var/spool/qmail/mess/0/123
/var/spool/qmail/remote/0/123

[tmpfs]$ cat plop | grep '/mess/'
/var/spool/qmail/mess/0/123

[tmpfs]$
;-))
0
boosterjack Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Salut,

Déjà merci de répondre :)

Plus que des mots ...."THE CODE" !

voici mon premier script qui permet de recuperer les urls la:
/var/spool/qmail/info/0/123
/var/spool/qmail/mess/0/123
/var/spool/qmail/remote/0/123

for i in $(rgrep MAILER-DAEMON * -l | cut -d"/" -f2); do find /var/spool/qmail/ -name $i -exec sh /mon/chemin/mon_script.sh {} \; ; done

Donc le resultat est traité directement par le 2eme script. Mon probleme c'est d'écrire correctement le if qui pose la meme condition que le cat plop | grep '/mess/' car je ne conserve pas de stdout.
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Il sort quoi de do find /var/spool/qmail/ -name $i ?
0
boosterjack Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
il renvoie ca /var/spool/qmail/info/0/123 ensuite /var/spool/qmail/mess/0/123 et apres /var/spool/qmail/remote/0/123 etc mais sans le stocker dans un fichier

en fait je n'ai pas de fichier resultat je traite le resultat directement en passant {} en parametre à mon 2eme script....

mais c'est quoi la bonne syntaxe pour mon test ?

je n'arrive pas à "exploder" ou a ecrire correctement ma regex correctement pour ne traiter que les lignes ayant /var/spool/qmail/mess/ en debut dans le path..
car je ne connais pas encore les fichiers /0/123


if ["$1" = "/var/spool/qmail/mess/*" ]
then
traitement
fi

??? C'est la que le bas plaisse: sur l'expression litterale...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
sh /mon/chemin/mon_script.sh  $(rgrep MAILER-DAEMON * -l | cut -d"/" -f2) |  grep '/mess/')
0
boosterjack Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
Ok merci ca m'a donné une piste...:)
0