Bonjour,

Je cherche à faire mon script sans utiliser grep donc à créer une commande correspondante à celle ci :

grep "Subject: " /tmp/mail.log | grep -v -e "truc" -e "machin" -e "chose" > /tmp/check_mail.log

Voici mon "code", je n'ai aucune fonction ou classe pour l'instant tant que ça marche pas...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
f = open("/tmp/mail.log",'r')
fichier  = f.readlines()
f.close()

r1="Subject:"
r2=["truc","machin","chose"]
liste=[ ]

for ligne in fichier:
	if r1 in ligne: 
	 for x in r2:
	   if x not in ligne:
		liste.append(ligne)

print(liste)
Le premier filtre fonctionne, il n'y a que les lignes comprenant "Subject" qui sont ajoutées.
Quand j'affiche la liste les lignes comprenant les 3 mots clés "truc" "machin" "chose" apparaissent
j'ai mis en gras ce qui ne marche pas : la liste des 3 mots clés...
J'ai fais un essai avec un seul mot clé dans la liste r2 ça marche
j'ai afficher les mots clé dans la boucle ça liste bien successivement les 3 mots clés.

Merci d'avance si vous pouvez m'apporter votre aide, je bloque dessus.

Version du Python utilisé sur les serveurs : 2.6.6