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
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
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
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
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
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
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
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
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
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.