(Courriels de diversion: <sablee@elaguerons-surfaits.com> <infecondes@navigueras-sablees.com> <rêvasserais@comporteront-brutaux.com> <raccourcissements@cooptee-demonstrateurs.com> <decodes@religieuses-courbatures.com> <octroyait@desapprouvions-demeuriez.com> <deblayerais@mordantes-parachuterons.com> <synchronique@irlandais-commencera.com> <decrochees@suggerees-ajournes.com> <espionnent@tyrannisais-craques.com> )


Yannick MARCHEGAY wrote:
> Bonsoir tout le monde,
> 
> Je suis tout fier de moi : je suis en plein dans mon premier script.
> Mon script fait la chose suivante : je vais chercher dans le fichier
> journal d'un salon #quizz de mon chat et avec des grep et des sed -e à
> n'en plus finir, je me retrouve avec une liste de pseudos (un par ligne)
> que je classe par ordre alphabétique avec sort.
> Chaque occurrence d'un pseudo signifie qu'il a gagné un point à mes
> quizz. Il suffit donc de compter le nombre d'occurrences de chaque
> pseudo pour établir en classement.
> 
> C'est là qu'arrive le problème : avec grep -c, on peut compter le nombre
> d'occurrences d'UN mot défini. Est-ce que vous savez s'il existe la même
> chose pour me faire un petit fichier texte du genre :
> pseudo1 54
> pseudo2 48
> pseudo3 35
> pseudo4 22
> etc.
> 
> Si ça n'existe pas, j'accepterais volontiers des conseils sur la manière
> d'aborder le script qui me permettrait d'y arriver (je ne suis que
> traducteur, pas vraiment développeur).

Salut,

Je ne suis pas sur de bien comprendre ton probleme exact. Néanmoins pour 
l'instant, je comprends que tu as un fichier avec une série de pseudo, 
et que tu veux juste savoir combien de fois chacun apparait dans ce 
fichier, est-ce juste ?

Dans ce cas je suggererais ceci :
cat LefichierDesPseudos | sort -u | (
while
	read Unpseudo
do
	Occurences=`grep -c $Unpseudo LefichierDesPseudos`
	echo "$Unpseudo  $Occurences"
done ) > LefichierResultat

Explication : on envoie LefichierDesPseudos sur la commande "sort -u" 
qui les classes et ne garde qu'une seule occurence de chaque entree => 
ainsi tu obtiens une liste de tous les pseudos utilisés.
ensuite TANT QUE tu lis un pseudo, alors tu peux compter combien de fois 
il apparait dans le fichier et afficher le résultat.

Et zou....

		Mick, grand amateur de while
Ps : en même temps, ca serait beaucoup plus simple et plus rapide en awk 
(2 lignes), mais c'est encore autre chose ....

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>