Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 04/05/2007, à 13:31

next-d

petite aide tri de fichier

voila j'ai une liste de mail de 25000 adresses.
je voudrais faire un tri de ces mails selons des criteres
ex: les mails contenant le nom "maison" ou "ville" "ou service"

avez vous des idées?
merci d'avance

Hors ligne

#2 Le 04/05/2007, à 14:03

windu.2b

Re : petite aide tri de fichier

Salut,
Personnellement j'utilise Thunderbird, qui permet (mais il n'est sans doute pas le seul) de rediriger les mails vers des dossiers que l'on a précédemment créés, le tout en fonction de critères (sujet, expéditeur, dates, priorités, statut, taille...).
Pour cela, il faut aller dans "Outils" → "Filtres..." → sélectionner la boite mail concernée dans la liste déroulante → cliquer sur "Nouveau" → remplir le formulaire qui s'affiche (on peut définir plusieurs conditions pour un même filtre) → cliquer sur "Ok" quand c'est fini → cliquer sur "Exécuter" pour que le filtre agisse sur les mails déjà reçus (le temps mis pour ce premier tri peut dépendre du nombre de mails déjà reçus).



À noter que cette manipulation doit sans doute exister sous d'autres clients mail.
Et quand je parle de dossiers "précédemment créés", je veux parler de dossiers internes dans le client mail, et non de dossiers dans Nautilus (ou autre explorateur de fichiers). Pour les créér, il suffit de faire "Fichier" → "Nouveau" → "sous-dossiers..." ou clic-droit sur la boite mail concerné → "Nouveau dossier..."


Les pigeons, ça n'existe pas sur la banquise, et ils ne se nourrissent pas de pommes... Mais on en trouve souvent sur les rebords de fenêtres!

Hors ligne

#3 Le 04/05/2007, à 14:03

kaworu

Re : petite aide tri de fichier

salut !
disons que ton fichier s'apelle "adresses.txt"

for i in maison ville service; do
    grep "$i" adresses.txt > "$i".txt
done

"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne

#4 Le 04/05/2007, à 14:11

next-d

Re : petite aide tri de fichier

marche pas

Hors ligne

#5 Le 04/05/2007, à 22:35

JoelS

Re : petite aide tri de fichier

next-d a écrit :

marche pas

Ben ça devrais, ou alors je suis comme kaworu, j'ai pas compris le problème!

Peut tu mettre un extrait de ton fichier dans un post histoire qu'on y voit un peu plus clair.

Hors ligne

#6 Le 05/05/2007, à 10:55

next-d

Re : petite aide tri de fichier

exemple de fichiers (critere maison et ville)

toto.maison@xxxxx.fr  -> mail ok
zero.nene@maisondubonheur.org ->mail ok
zero.nene@maison-du_bonheur.org ->mail ok
yes.non-abs@chez-mamie.com -> mail pas bon
totomaniza@ville-xxxxx.fr -> mail ok
voila un exemple

merci

Hors ligne

#7 Le 05/05/2007, à 13:55

Compte anonymisé

Re : petite aide tri de fichier

Salut

Peut être :

for i in maison ville service; do
    grep "$i" adresses.txt >> ok.txt
done

@+

Dernière modification par Compte anonymisé (Le 05/05/2007, à 13:56)

#8 Le 05/05/2007, à 17:45

abetsic

Re : petite aide tri de fichier

Salut,

une autre solution :

grep "maison\|ville" adresses.txt > sortie.txt

le "\|" servant d'opérateur "ou" (échapé par \ pour qu'il ne soit pas interprété par le shell comme un pipe)

Hors ligne

#9 Le 07/05/2007, à 13:13

kaworu

Re : petite aide tri de fichier

abetsic a écrit :

Salut,

une autre solution :

grep "maison\|ville" adresses.txt > sortie.txt

le "\|" servant d'opérateur "ou" (échapé par \ pour qu'il ne soit pas interprété par le shell comme un pipe)

pas exactement, si c'est déjà entre guillemets "", le shell ne va pas l'interpréter comme un pipe. Tu l'échappe pour pas que grep le prenne pour un pipe littéral, mais un pipe OR. par défaut grep prend tout littéralement, et si on veut la fonction, il faut échapper.

C'est le comportement inverse des outils comme sed et c'est déroutant. Si tu veux utiliser grep avec regexp pour qu'il se comporte comme sed il faut faire grep -E ou encore utilise egrep (qui est la même chose que grep -E), ainsi on peut faire :

grep "maison\|ville" adresses.txt > sortie.txt
egrep "maison|ville" adresses.txt > sortie.txt
grep -E "maison|ville" adresses.txt > sortie.txt

ces trois commande sont équivalentes.

Dernière modification par kaworu (Le 07/05/2007, à 13:14)


"There are in order of increasing severity: lies, damn lies, statistics, and computer benchmarks."

Hors ligne