logo

Commande uniq sous Linux avec exemples

Le unique La commande sous Linux est un utilitaire de ligne de commande qui signale ou filtre les lignes répétées dans un fichier. En mots simples, unique est l'outil qui permet de détecter les lignes en double adjacentes et de supprimer également les lignes en double. unique filtre les lignes correspondantes adjacentes du fichier d'entrée (qui est requis comme argument) et écrit les données filtrées dans le fichier de sortie.

java codage if else instruction

Table des matières

Syntaxe de la commande uniq

La syntaxe de base du ` uniq`> la commande est :



uniq [OPTIONS] [INPUT_FILE [OUTPUT_FILE]]>

Ici,

  • `OPTIONS`> : Drapeaux facultatifs qui modifient le comportement du ` uniq`> commande.
  • `INPUT_FILE`> : Le chemin d'accès au fichier d'entrée contenant les données texte. Si non spécifié, ` uniq`> lit à partir de l’entrée standard (généralement le clavier).
  • `OUTPUT_FILE`> : Le chemin d'accès au fichier de sortie où les lignes uniques seront écrites. Si non spécifié, ` uniq`> écrit sur la sortie standard (généralement le terminal).

Options communes du uniq> Commande

Voici quelques options courantes qui peuvent être utilisées avec le ` uniq`> commande:

Possibilités

Description

-c, –compte

Préfixez les lignes par le nombre d’occurrences dans l’entrée, suivi d’un espace.

-d, –répété

Seules les lignes de sortie qui sont répétées dans l'entrée.

-i, –ignorer la casse

Ignorez les différences de cas lors de la comparaison des lignes.

-f, –skip-fields=N

Évitez de comparer les N premiers champs de chaque ligne.

-s, –skip-chars=N

Évitez de comparer les N premiers caractères de chaque ligne.

-u, –unique

Seules les lignes de sortie uniques dans l’entrée.

Exemples d'utilisation du ` uniq`> Commande

Maintenant, comprenons l'utilisation de ceci à l'aide d'un exemple. Supposons que vous ayez un fichier texte nommé kt.txt qui contient des lignes répétées qui doivent être omises. Cela peut simplement être fait avec uniq.

//displaying contents of kt.txt//   $cat kt.txt   I love music. I love music. I love music. I love music of Kartik. I love music of Kartik. Thanks.>

Comment supprimer les lignes en double à l'aide de la commande « uniq »

Pour supprimer les lignes en double de ` kt.txt`> , nous pouvons utiliser le ` uniq`> commande:

uniq kt.txt>

supprimer les lignes en double

supprimer les lignes en double

Comme vous pouvez le voir, nous avons simplement utilisé le nom du fichier d'entrée dans l'exemple uniq ci-dessus et comme nous n'avons utilisé aucun fichier de sortie pour stocker la sortie produite, la commande uniq a affiché la sortie filtrée sur la sortie standard avec tous les doublons. lignes supprimées.

Remarque : unique n'est pas capable de détecter les lignes en double à moins qu'elles ne soient adjacentes les unes aux autres. Le contenu du fichier doit donc être trié avant d'utiliser uniq ou vous pouvez simplement utiliser trier -u au lieu de la commande uniq.

Comment compter les lignes en double à l'aide de la commande « uniq » sous Linux

Le ' -c`> L'option préfixe chaque ligne avec le nombre d'occurrences dans l'entrée :

uniq -c kt.txt>
Comptage des occurrences de lignes en double

Comptage des occurrences de lignes en double

Dans cet exemple, au début de chaque ligne, son numéro répété est affiché

Comment afficher les lignes répétées à l'aide de la commande « uniq » sous Linux

Le ' -d`> L'option imprime uniquement les lignes en double :

uniq -d kt.txt>
afficher uniquement les lignes en double

afficher uniquement les lignes en double

Comment afficher toutes les lignes en double à l'aide de la commande « uniq » sous Linux

Le ' -D`> L'option imprime toutes les lignes en double, pas seulement une par groupe :

uniq -D kt.txt>
imprime toutes les lignes en double

imprime toutes les lignes en double

Comment afficher des lignes uniques à l'aide de la commande « uniq » sous Linux

Le ' -u`> L'option imprime uniquement les lignes uniques :

uniq -u kt.txt>

imprime uniquement des lignes uniques

imprime uniquement des lignes uniques

bash pour la boucle 1 à 10

Sauter les N premiers champs ( -f> option) Utiliser la commande `uniq` sous Linux

Le ' -f N`> L'option ignore les N premiers champs avant de comparer les lignes. Utile pour les lignes numérotées :

uniq -f 2 f1.txt>

//affichage du contenu de f1.txt//
1. J'aime la musique.
2. J'aime la musique.
3. J'adore la musique de Kartik.
4. J'adore la musique de Kartik.

Option `-s N`

Option `-s N`

Dans cet exemple, 2 est utilisé car nous devions comparer les lignes après la numérotation 1,2... et après les points.

Sauter les N premiers caractères ( -s> option) Utiliser la commande `uniq` sous Linux

Le ' -s N`> L'option ignore les N premiers caractères de chaque ligne :

//affichage du contenu de f2.txt//
#%@J'aime la musique.
^&(J'adore la musique.
*-!@merci.
#%@!merci.

uniq -s 3 f2.txt>

Dans cet exemple, les lignes identiques après avoir sauté 3 caractères sont filtrées.

Option `-s N`

Option `-s N`

Comparaison limitée aux N premiers caractères ( -w> option) Utiliser la commande `uniq` sous Linux

Utilisation de l'option -w : De la même manière que pour sauter des caractères, nous pouvons également demander à uniq de limiter la comparaison à un nombre défini de caractères. Pour cela, l’option de ligne de commande -w est utilisée.

//affichage du contenu de f3.txt//
Comment c'est possible?
Comment cela peut-il être fait ?
Comment l'utiliser?

uniq -w 3 f3.txt>

Comme les 3 premiers caractères des 3 lignes sont identiques, c'est pourquoi uniq les a traités comme des doublons et a donné un résultat en conséquence.

Utilisation de l'option -w

Utilisation de l'option -w

Comparaison insensible à la casse ( -i> option) Utiliser la commande `uniq` sous Linux

Le ' -i`> L'option rend la comparaison insensible à la casse :

//affichage du contenu de f4.txt//
J'AIME LA MUSIQUE
J'aime la musique
MERCI

uniq f4.txt>

Ici, les lignes ne sont pas traitées comme des doublons avec une simple utilisation d'uniq

//utilise maintenant l'option -i//

supprimer le dernier commit git
uniq -i f4.txt>

Désormais, la deuxième ligne est supprimée lorsque l'option -i est utilisée.

comparaison insensible à la casse

comparaison insensible à la casse

Sortie terminée par NULL ( -z> option) Utiliser la commande `uniq` sous Linux

En utilisant l'option -z : Par défaut, la sortie produite par uniq se termine par une nouvelle ligne. Cependant, si vous le souhaitez, vous souhaitez plutôt avoir une sortie terminée par NULL (utile pour gérer uniq dans les scripts). Cela peut être rendu possible en utilisant l'option de ligne de commande -z.

Syntaxe:

uniq -z file-name>

Conclusion

Dans cet article, nous avons discuté deuniq>La commande sous Linux est un outil polyvalent pour gérer les lignes en double dans les fichiers texte. En comprenant ses différentes options, vous pouvez gérer et traiter efficacement les données textuelles. Expérimentez avec différentes options et exemples pour maîtriser l'utilisation duuniq>commande.

?list=PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L