Si vous êtes un utilisateur Linux et que votre travail implique de travailler avec et de manipuler des fichiers texte et des chaînes, vous devriez déjà être familiarisé avec la commande uniq, car elle est la plus couramment utilisée dans ce domaine.
Pour ceux qui ne sont pas familiers avec la commande uniq, il s'agit d'un outil de ligne de commande qui est utilisé pour signaler ou omettre des chaînes ou des lignes répétées. Cela filtre essentiellement les lignes correspondantes adjacentes de INPUT (ou entrée standard) et écrit dans OUTPUT (ou sortie standard). Sans option, les lignes correspondantes sont fusionnées avec la première occurrence.
Ci-dessous quelques exemples d'utilisation de la commande uniq
1) Omettre les doublons
L'exécution des commandes uniq sans spécifier de paramètres omet simplement les doublons et affiche une sortie de chaîne unique.
fluser@fvm:~/Documents/files$cat file1
Hello
Hello
How are you?
How are you?
Thank you
Thank you
fluser@fvm:~/Documents/files$ uniq file1
Hello
How are you?
Thank you
2) Afficher le nombre de lignes répétées
Avec le paramètre -c, il est possible de voir le nombre de lignes en double dans un fichier
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
How are you?
How are you?
Thank you
Thank you
fluser@fvm:~/Documents/files$ uniq -c file1
2 Hello
2 How are you?
2 Thank you
3) Imprimez uniquement les doublons
En utilisant le paramètre -d, nous pouvons sélectionner uniquement les lignes qui ont été dupliquées dans un fichier
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
Good morning
How are you?
How are you?
Thank you
Thank you
Bye
fluser@fvm:~/Documents/files$ uniq -d file1
Hello
How are you?
Thank you
4) Ignorer la casse lors de la comparaison
Normalement, lorsque vous utilisez la commande uniq, la casse des lettres est prise en compte. Mais si vous voulez ignorer la casse, vous pouvez utiliser le paramètre -i
fluser@fvm:~/Documents/files$ cat file1
Hello
hello
How are you?
How are you?
Thank you
thank you
fluser@fvm:~/Documents/files$ uniq file1
Hello
hello
How are you?
Thank you
thank you
fluser@fvm:~/Documents/files$ uniq -i file1
Hello
How are you?
Thank you
5) N'imprimez que des lignes uniques
Si vous souhaitez uniquement voir les lignes uniques d'un fichier, vous pouvez utiliser le paramètre -u
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
Good morning
How are you?
How are you?
Thank you
Thank you
Bye
fluser@fvm:~/Documents/files$ uniq -u file1
Good morning
Bye
6) Trier et trouver les doublons
Parfois, des entrées en double peuvent contenir à différents endroits d'un fichier. Dans ce cas, si nous utilisons simplement la commande uniq, elle ne détectera pas ces entrées en double dans différentes lignes. Dans ce cas, nous devons d'abord trier le fichier, puis nous pouvons trouver des doublons
fluser@fvm:~/Documents/files$ cat file1
Adam
Sara
Frank
John
Ann
Matt
Harry
Ann
Frank
John
fluser@fvm:~/Documents/files$ sort file1 | uniq -c
1 Adam
2 Ann
2 Frank
1 Harry
2 John
1 Matt
1 Sara
7) Enregistrer la sortie dans un autre fichier
La sortie de notre commande uniq peut être simplement enregistrée dans un autre fichier comme ci-dessous
fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
How are you?
Good morning
Good morning
Thank you
fluser@fvm:~/Documents/files$ uniq -u file1
How are you?
Thank you
fluser@fvm:~/Documents/files$ uniq -u file1 output
fluser@fvm:~/Documents/files$ cat output
How are you?
Thank you
8) Ignorer les caractères
Afin d'ignorer quelques caractères au début, vous pouvez utiliser le paramètre -s, mais vous devez spécifier le nombre de caractères que vous devez ignorer
fluser@fvm:~/Documents/files$ cat file1
1apple
2apple
3pears
4banana
5banana
fluser@fvm:~/Documents/files$ uniq -s 1 file1
1apple
3pears
4banana
Si vous avez des questions ou des réflexions à partager sur ce sujet, utilisez le formulaire de commentaires
Lire aussi :
- Comment utiliser la commande Linux Tr avec des exemples
- Un bref aperçu de 106 commandes Linux avec des exemples