En tant qu’utilisateurs de Linux, nous interagissons régulièrement avec différents types de fichiers. L’un des types de fichiers les plus courants sur n’importe quel système informatique est un fichier texte brut. Souvent, il est très courant de trouver le texte requis dans ces fichiers.
Cependant, cette tâche simple devient rapidement ennuyeuse si le fichier contient des entrées en double. Dans de tels cas, nous pouvons utiliser le unique commande pour filtrer efficacement le texte en double.
Sous Linux, nous pouvons utiliser le unique commande qui est pratique lorsque nous voulons répertorier ou supprimer les lignes en double qui se présentent de manière adjacente.
En dehors de cela, nous pouvons également utiliser la commande uniq pour compter les entrées en double. Il est important de noter que la commande uniq ne fonctionne que lorsque les entrées en double sont adjacentes.
Dans ce guide simple, nous aborderons les unique commande approfondie avec des exemples pratiques sous Linux.
Syntaxe de la commande uniq
La syntaxe de la unique est très facile à comprendre et est similaire aux autres commandes Linux :
$ uniq [OPTIONS] [INPUT] [OUTPUT]
Il est important de noter que toutes les options et tous les paramètres du unique commande sont facultatives.
Création d’un exemple de fichier texte
Pour commencer, créons d’abord un simple fichier texte avec un éditeur vi et ajoutons le contenu en double suivant situé dans les lignes adjacentes.
$ vi linux-distributions.txt $ cat linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 1 Créer Un Fichier Texte Sous Linux](https://www.tecmint.com/wp-content/uploads/2023/05/Create-Text-File-in-Linux.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 2 Créer Un Fichier Texte Sous Linux](https://www.tecmint.com/wp-content/uploads/2023/05/Create-Text-File-in-Linux.png)
Maintenant, utilisons ce fichier pour comprendre l’utilisation de unique commande.
1. Supprimer les lignes en double d’un fichier texte
L’une des utilisations courantes de la unique La commande consiste à supprimer les lignes en double adjacentes du fichier texte, comme indiqué.
$ uniq linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 3 Supprimer Les Lignes Dupliquées Dans Un Fichier Texte](https://www.tecmint.com/wp-content/uploads/2023/05/Remove-Duplicate-Text-Lines.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 4 Supprimer Les Lignes Dupliquées Dans Un Fichier Texte](https://www.tecmint.com/wp-content/uploads/2023/05/Remove-Duplicate-Text-Lines.png)
Dans la sortie ci-dessus, nous pouvons voir que le unique La commande a réussi à éliminer les lignes en double.
2. Compter les lignes dupliquées dans un fichier texte
Dans l’exemple précédent, nous avons vu comment supprimer les lignes en double. Cependant, parfois, nous voulons également savoir combien de fois la ligne en double apparaît.
Nous pouvons y parvenir en utilisant le -c
option comme indiqué dans l’exemple ci-dessous :
$ uniq -c linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 5 Compter Les Lignes En Double Dans Le Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Count-Duplicate-Lines-in-File.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 6 Compter Les Lignes En Double Dans Le Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Count-Duplicate-Lines-in-File.png)
Dans la sortie ci-dessus, la première colonne représente le nombre de fois que la ligne est répétée.
3. Supprimer les doublons avec insensible à la casse
Par défaut, le unique La commande fonctionne de manière sensible à la casse. Cependant, nous pouvons désactiver ce comportement par défaut en utilisant le -i
comme indiqué.
$ uniq -i linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 7 Supprimer Les Lignes En Double Ignorer La Casse](https://www.tecmint.com/wp-content/uploads/2023/05/Remove-Duplicates-with-Case-Insensitive.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 8 Supprimer Les Lignes En Double Ignorer La Casse](https://www.tecmint.com/wp-content/uploads/2023/05/Remove-Duplicates-with-Case-Insensitive.png)
Dans cet exemple, nous pouvons observer que maintenant, la chaîne Ubuntu et UBUNTU est traité de la même façon. Parallèlement à cela, la même chose se produit avec la chaîne CentOS et CENTO.
4. Imprimer uniquement les lignes en double à partir d’un fichier
Parfois, nous voulons simplement imprimer les lignes en double à partir d’un fichier texte, dans ce cas, vous pouvez utiliser le -d
comme indiqué.
$ uniq -d linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 9 Imprimer Uniquement Les Lignes En Double À Partir Du Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Print-Only-Duplicate-Lines-in-File.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 10 Imprimer Uniquement Les Lignes En Double À Partir Du Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Print-Only-Duplicate-Lines-in-File.png)
Dans la sortie ci-dessus, nous pouvons voir que le unique La commande affiche l’entrée en double de chaque groupe.
5. Imprimer toutes les lignes en double à partir d’un fichier
Dans l’exemple précédent, nous avons vu comment afficher une ligne dupliquée de chaque groupe. De la même manière, nous pouvons également afficher toutes les lignes en double en utilisant le -D
option:
$ uniq -D linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 11 Imprimer Toutes Les Lignes En Double À Partir Du Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Print-All-Duplicate-Lines-in-File.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 12 Imprimer Toutes Les Lignes En Double À Partir Du Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Print-All-Duplicate-Lines-in-File.png)
La sortie ci-dessus n’affiche pas le texte UBUNTU, CENTOet Alpin car ce sont des lignes uniques.
6. Afficher les lignes en double par groupes dans une nouvelle ligne
Dans l’exemple précédent, nous avons imprimé toutes les lignes en double. Cependant, nous pouvons rendre la même sortie plus lisible en séparant chaque groupe par une nouvelle ligne.
Utilisons le --all-repeated=separate
possibilité d’obtenir la même chose :
$ uniq --all-repeated=separate linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 13 Afficher Les Lignes En Double Par Groupes](https://www.tecmint.com/wp-content/uploads/2023/05/Show-Duplicate-Lines-By-Groups.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 14 Afficher Les Lignes En Double Par Groupes](https://www.tecmint.com/wp-content/uploads/2023/05/Show-Duplicate-Lines-By-Groups.png)
Dans la sortie ci-dessus, nous pouvons voir que chaque groupe répété est séparé par un nouveau délimiteur de ligne.
7. Imprimer uniquement les lignes uniques d’un fichier
Dans les exemples précédents, nous avons vu comment imprimer des lignes en double. De même, nous pouvons également demander au unique commande pour imprimer uniquement les lignes non dupliquées.
Maintenant, utilisons le -u
option pour n’imprimer que des lignes uniques :
$ uniq -u linux-distributions.txt
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 15 Trouver Des Lignes Uniques Dans Le Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Find-Unique-Lines-in-File.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 16 Trouver Des Lignes Uniques Dans Le Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Find-Unique-Lines-in-File.png)
Ici, on peut voir que le unique La commande affiche les lignes non dupliquées.
8. Supprimer les lignes en double non adjacentes dans le fichier
L’une des limites triviales de la unique commande est qu’elle ne supprime que les entrées en double adjacentes. Cependant, nous souhaitons parfois supprimer les entrées en double, quel que soit leur ordre dans le fichier donné.
Dans de tels cas, nous pouvons d’abord trier le contenu du fichier, puis diriger cette sortie vers la commande uniq, comme indiqué.
$ sort linux-distributions.txt | uniq
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 17 Supprimer Les Lignes En Double Non Adjacentes Dans Le Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Remove-Non-adjacent-Duplicate-Entries.png)
![Commande Uniq - Supprimer Les Lignes En Double D'Un Fichier Linux 18 Supprimer Les Lignes En Double Non Adjacentes Dans Le Fichier](https://www.tecmint.com/wp-content/uploads/2023/05/Remove-Non-adjacent-Duplicate-Entries.png)
Dans cet exemple, nous avons utilisé le trier et unique commandes sans aucune option. Cependant, nous pouvons également combiner d’autres options prises en charge avec ces commandes.
Conclusion
Dans ce guide, nous avons appris les unique commande à l’aide d’exemples pratiques. Connaissez-vous un autre meilleur exemple de unique commande sous Linux? Faites-nous part de vos opinions dans les commentaires ci-dessous.
Si vous appréciez ce que nous faisons ici sur TecMint, vous devriez considérer :
TecMint est le site communautaire à la croissance la plus rapide et le plus fiable pour tout type d’articles, de guides et de livres Linux sur le Web. Des millions de personnes visitent TecMint ! pour rechercher ou parcourir les milliers d’articles publiés accessibles GRATUITEMENT à tous.
Si vous aimez ce que vous lisez, pensez à nous acheter un café (ou 2) en signe d’appréciation.
Nous sommes reconnaissants pour votre soutien sans fin.