Script nombre de lignes identiques dans un fichier - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 10-03-2005 à 21:59:57
Un petit peu de shell vite fait:
cat test | while read ligne; do [ ! -z $prec ] && [ "$ligne" != "$prec" ] && echo $prec $count && let count=0 || let count=count+1; prec=$ligne; done |
Peut-être pas optimal, mais ça a l'air de marcher ... (il faut rajouter un retour chariot à la fin de ton fichier d'entrée, dans mon exemple il s'appelle "test" )
Marsh Posté le 10-03-2005 à 22:07:09
et uniq -c nomdufichier | sort > fichiertrié
c pas mieux?
Marsh Posté le 10-03-2005 à 22:13:59
Je n'ai pas compris sa demande de cette manière, mais en relisant, je vois que j'ai sans doute tort.
Pour moi son fichier d'exemple aurait pu aussi bien être:
AAAAAAA
AAAAAAA
CCCCCCC
BBBBBBB
AAAAAAA
CCCCCCC
et que le résultat attendu soit:
AAAAAAA 2
CCCCCCC 1
BBBBBBB 1
AAAAAAA 1
CCCCCCC 1
C'est-à-dire qu'il cherchait à afficher le nombre de lignes identiques et consécutives, pas simplement compter les lignes identiques dans tout le fichier ...
Marsh Posté le 11-03-2005 à 13:48:42
TIP TOP avec uniq c'est exactement ça !!!!
Merci les gars vous êtes cools, je ne pensais pas à cette commande !
Ô Joie !
Marsh Posté le 10-03-2005 à 20:21:11
Bonjour,
j'ai un fichier du genre
AAAAAA
AAAAAA
AAAAAA
BBBBBB
BBBBBB
CCCCCC
A partir de ce fichier, je voudrais faire un autre fichier qui n'affiche qu'une occurence de chaque ligne répétée et en face le nombre de fois que la ligne existe.
Exemple ici :
AAAAAA 3
BBBBBB 2
CCCCCC 1
Comment faire ?