Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/03/2008, 21h00   #1
Membre du Club
 
Avatar de VinnieMc
 
Inscription : décembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 181
Points : 62
Points : 62
Par défaut Caluler la fréquence et l'afficher sans supprimer les différentes occurrences

Bonjour,

j'ai un fichier de la forme suivante :

Code :
1
2
3
4
5
6
 
voitures N voiture
mangeait V manger
pommes N pomme
mangeons V manger
pomme N pomme
j'aimerais calculer la fréquence de chaque mot de la troisième colonne et écrire cette fréquence sur une quatrième colonne pour obtenir ceci (avec l'exemple ci-dessus):

Code :
1
2
3
4
5
6
 
voitures N voiture 1
mangeait V manger 2
pommes N pomme 2
mangeons V manger 2
pomme N pomme 2
J'ai cette commande qui calcule la fréquence mais ne garde qu'une occurrence de chaque mot.

Code :
awk '{print $3}' fichier.txt | sort | uniq -c
Merci.
__________________
Mon site
VinnieMc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2008, 14h23   #2
Membre expérimenté
 
Avatar de BlaireauOne
 
Inscription : mars 2007
Messages : 469
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mars 2007
Messages : 469
Points : 576
Points : 576
Ça doit le faire :
http://www.shellunix.com/awk.html
http://lea-linux.org/cached/index/Dev-awk.html
http://www.delorie.com/gnu/docs/gawk/gawk.1.html

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
awk '
{
	while (getline < FILENAME > 0) {
		col3[$3]++
		# print "* "$3" = "col3[$3]
	}
	close (FILENAME)
	while (getline < FILENAME > 0) {
		print $0, col3[$3]
	}
	exit
} ' fichier.txt
__________________
Loi de Murphy:
La Théorie c'est quand ça ne marche pas mais que l'on sait pourquoi.
La Pratique c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique ça ne marche pas et on ne sait pas pourquoi.
BlaireauOne est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/03/2008, 17h33   #3
Membre du Club
 
Avatar de VinnieMc
 
Inscription : décembre 2005
Messages : 181
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 181
Points : 62
Points : 62
Bonjour BlaireauOne,

ton script marche niquel . Je vais maintenant l'analyser pour voir comment il fonctionne parce que là comme ça je vois pas trop.

Merci.
__________________
Mon site
VinnieMc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h50.


 
 
 
 
Partenaires

Hébergement Web