Commande Uniq Sous Linux - Qu'est-ce Que C'est Et Comment L'utiliser ?

Utilisation De La Commande Uniq Sous Linux

Dans ce tutoriel, nous verrons comment fonctionne la commande uniq. Commençons.

1. Créez Un Exemple De Fichier Texte

Nous allons créer un exemple de fichier texte avec quelques lignes répétées.

Le texte du fichier est donné ci-dessous :

Il fait beau aujourd'hui.
Il fait beau aujourd'hui.
Il fait beau aujourd'hui.
Aujourd'hui est une journée ensoleillée.
Aujourd'hui est une journée ensoleillée.
Aujourd'hui est une journée ensoleillée.

Ici, les deux premières lignes sont identiques. La troisième ligne est différente et les lignes restantes se ressemblent toutes.

Pour créer un fichier avec ce texte, utilisez la commande cat.

chat > fichier.txt

Sortir :

Fichier texte

2. Utiliser Uniq Pour Supprimer Les Lignes Répétées Du Texte

Pour supprimer les lignes répétées du texte, utilisez :

fichier uniq.txt

Sortir :

Il fait beau aujourd'hui.
Il fait beau aujourd'hui.
Aujourd'hui est une journée ensoleillée.

Il n’y a plus de répétitions dans le texte. Comme vous pouvez le voir, la sortie affiche les lignes 1 et 2 comme des lignes uniques même si le contenu est le même. C’est parce que Linux est sensible à la casse.

3. Comptez Le Nombre De Répétitions

Pour compter le nombre de répétitions utilisez la ligne de code suivante :

uniq -c fichier.txt

Sortir :

 2 Il fait beau aujourd'hui.
 1 Le temps est beau aujourd'hui.
 3 Aujourd'hui est une journée ensoleillée.

La sortie contient des lignes du texte avec le nombre au début.

4. N’imprimez Que Les Lignes Répétées

La commande uniq vous donne la possibilité d’imprimer uniquement les lignes qui se produisent plus d’une fois. Pour imprimer uniquement les lignes répétées, utilisez :

uniq -D fichier.txt 

Sortir :

Il fait beau aujourd'hui.
Il fait beau aujourd'hui.
Aujourd'hui est une journée ensoleillée.
Aujourd'hui est une journée ensoleillée.
Aujourd'hui est une journée ensoleillée.

5. N’imprimez Que Les Lignes Non Répétées

C’est le contraire de l’exemple ci-dessus. Lorsque vous utilisez l’ indicateur -u avec la commande uniq , seules les lignes qui apparaissent une fois sont imprimées. Pour imprimer uniquement les lignes non répétées utilisez :

uniq -u fichier.txt 

Sortir :

Il fait beau aujourd'hui.

6. Comment Supprimer Des Lignes Répétées Qui Ne Se Produisent Pas Ensemble ?

Si vous souhaitez supprimer plusieurs occurrences d’une ligne qui ne se produisent pas ensemble, vous pouvez d’abord trier le texte.

Par exemple, considérons le texte ci-dessous :

Il fait beau aujourd'hui
Aujourd'hui est une journée ensoleillée
Il fait beau aujourd'hui
Il fait beau aujourd'hui
Aujourd'hui est une journée ensoleillée
Aujourd'hui est une journée ensoleillée

Voyons ce qui se passe lorsque nous exécutons la commande uniq sur ce texte.

fichier uniq.txt

Sortir :

Il fait beau aujourd'hui
Aujourd'hui est une journée ensoleillée
Il fait beau aujourd'hui
Il fait beau aujourd'hui
Aujourd'hui est une journée ensoleillée

Il n’y a aucun changement dans le texte. Utilisons le tri pour que les mêmes lignes apparaissent ensemble.

Nous pouvons trier le fichier et stocker la sortie dans un autre fichier à l’aide de la commande sort :

trier fichier.txt > fichier1.txt

Après tri, le texte ressemble à ceci :

Il fait beau aujourd'hui
Il fait beau aujourd'hui
Il fait beau aujourd'hui
Aujourd'hui est une journée ensoleillée
Aujourd'hui est une journée ensoleillée
Aujourd'hui est une journée ensoleillée

Nous pouvons maintenant utiliser la commande uniq pour supprimer les lignes répétées.

fichier uniq1.txt

Sortir :

Il fait beau aujourd'hui
Il fait beau aujourd'hui
Aujourd'hui est une journée ensoleillée

On peut aussi compter le nombre d’occurrences pour chaque ligne.

uniq -c fichier1.txt

Sortir :

 1 Le temps est beau aujourd'hui
 2 Il fait beau aujourd'hui
 3 Aujourd'hui est une journée ensoleillée

7. Comment Stocker La Sortie Dans Un Fichier ?

Lorsque vous exécutez la commande uniq sur un fichier, le contenu du fichier d’origine n’est pas modifié. Pour enregistrer la sortie de la commande uniq, vous pouvez la rediriger vers un fichier. Vous pouvez le faire en utilisant :

fichier uniq.txt > 

Conclusion