chat en double1.txt | trier -k 2 | uniq -f 1
Si vous vous demandez avec le drapeau "sort", c'est pour dire à "sort" de trier en fonction de la deuxième colonne.
Afficher toutes les lignes mais séparer les doublons
Selon tous les exemples mentionnés ci-dessus, « uniq » ne conserve que la première occurrence du contenu dupliqué et supprime le reste. Que diriez-vous de supprimer complètement le contenu en double? Oui, en utilisant le drapeau "-u", nous pouvons forcer "uniq" à ne garder que les lignes non répétitives.
chat en double.txt | sorte
chat en double.txt | trier | uniq -u
Hmm, trop de doublons maintenant disparus…
Ignorer les caractères initiaux
Nous avons discuté de la façon de dire à « uniq » de faire son travail pour d'autres domaines, à droite? Il est temps de commencer le contrôle après un certain nombre de caractères initiaux. A cet effet, le drapeau "-s" accompagné du nombre de caractères va dire à "uniq" de faire le travail.
chat en double1.txt | trier -k 2 | uniq -s 2
C'est similaire à l'exemple où « uniq » devait faire sa tâche dans le deuxième champ uniquement. Voyons un autre exemple avec cette astuce.
chat en double.txt | trier | uniq -s 5
Vérifier les caractères initiaux UNIQUEMENT
Tout comme nous avons dit à « uniq » de sauter les premiers caractères, il est également possible de dire à « uniq » de limiter la vérification aux premiers caractères. Il y a un indicateur "-w" dédié à cet effet.
chat en double.txt | trier | uniq -w 5
Cette commande indique à « uniq » d'effectuer une vérification d'unicité dans les 5 premiers caractères.
Voyons un autre exemple de cette commande.
chat en double1.txt | trier | uniq -w 5
Il efface toutes les autres instances d'entrées « en double » car il a effectué le contrôle d'unicité sur la partie « dupli ».
Insensibilité à la casse
Lors de la vérification de l'unicité, « uniq » vérifie également la casse des caractères. Dans certaines situations, la sensibilité à la casse n'a pas d'importance, nous pouvons donc utiliser le drapeau "-i" pour rendre "uniq" insensible à la casse.
Ici je vous présente le fichier démo.
Une duplication vraiment astucieuse avec un mélange de lettres majuscules et minuscules, à droite? Il est temps de faire appel à la force de « uniq » pour purger la pagaille!
chat en double1.txt | trier | uniq -i
Vœu exaucé!
Sortie terminée par NULL
Le comportement par défaut de « uniq » consiste à terminer la sortie par une nouvelle ligne. Cependant, la sortie peut également être terminée par un NULL. C'est assez utile si vous allez l'utiliser dans des scripts. Ici, le drapeau "-z" est ce qui fait le travail.
chat en double.txt | trier | uniq -z
Combiner plusieurs drapeaux
Nous avons appris un certain nombre de drapeaux de « uniq », à droite? Que diriez-vous de les combiner ensemble?
Par exemple, je combine l'insensibilité à la casse et le nombre de répétitions ensemble.
Si vous envisagez de mélanger plusieurs drapeaux ensemble, assurez-vous d'abord qu'ils fonctionnent correctement ensemble. Parfois, les choses ne fonctionnent pas comme elles le devraient.
Dernières pensées
« uniq » est un outil assez unique offert par Linux. Avec autant de fonctionnalités puissantes, il peut être utile de nombreuses façons. Pour la liste de tous les drapeaux et leurs explications, consultez les pages man et info de « uniq ».
homme unique
info unique
Prendre plaisir!