Si j'ai un fichier texte avec le contenu suivant
red apple
green apple
green apple
orange
orange
orange
Existe-t-il une commande ou un script Linux que je peux utiliser pour obtenir le résultat suivant?
1 red apple
2 green apple
3 orange
linux
text
duplicates
il est temps
la source
la source
-d
note.uniq -c file
et si le fichier n'est pas déjà trié:
sort file | uniq -c
la source
Essaye ça
la source
la source
Pouvez-vous vivre avec une liste alphabétique et ordonnée:
?
ou
-u signifie unique et l'unicité n'est atteinte que par le tri.
Une solution qui préserve la commande:
et, avec un fichier
Les deux derniers suppriment uniquement les doublons, qui suivent immédiatement - ce qui correspond à votre exemple.
Imprime deux pommes, fendues par une banane.
la source
Pour juste obtenir un compte:
Pour obtenir un décompte trié:
ÉDITER
Aha, ce n'était PAS le long des limites des mots, mon mal. Voici la commande à utiliser pour les lignes complètes:
la source
Voici un simple script python utilisant le type Counter . L'avantage est que cela ne nécessite pas de trier le fichier, en utilisant essentiellement zéro mémoire:
Production:
ou vous pouvez utiliser un simple one-liner:
la source