Notez qu'uniq ne supprimera pas les lignes en double sauf si elles sont adjacentes. Par conséquent, vous devrez peut-être d'abord les trier ou combiner la commande sort avec uniq pour obtenir les résultats. Laissez-moi vous montrer quelques exemples.
Tout d’abord, créons un fichier avec quelques lignes répétitives :
vi ostechnix.txt welcome to ostechnix welcome to ostechnix Linus is the creator of Linux. Linux is secure by default Linus is the creator of Linux. Top 500 super computers are powered by Linux
Comme vous pouvez le voir dans le fichier ci-dessus, nous avons des lignes en double (les première et deuxième lignes, les troisième et cinquième lignes sont des doublons).
Si vous utilisez la commande uniq sans aucun argument, elle supprimera toutes les lignes consécutives en double et affichera uniquement les lignes uniques.
uniq ostechnix.txt
Exemple de sortie :
Comme vous pouvez le voir, la commande uniq supprime toutes les lignes consécutives en double dans le fichier donné. Vous remarquerez peut-être également que la sortie ci-dessus comporte toujours les deuxième et quatrième lignes répétées. En effet, la commande uniq ne supprimera les lignes en double que si elles sont adjacentes. Bien entendu, nous pouvons également supprimer les lignes en double non consécutives. Voir le deuxième exemple ci-dessous.
sort ostechnix.txt | uniq
Exemple de sortie :
L'avez-vous vu ? Il n'y a pas de lignes en double. En d'autres termes, la commande ci-dessus affichera les lignes qui n'apparaissent qu'une seule fois dans ostechnix.txt. Nous utilisons la commande sort en conjonction avec la commande uniq car, comme je l'ai mentionné, uniq ne supprimera pas les lignes en double à moins qu'elles ne soient adjacentes.
Pour afficher uniquement la seule ligne du fichier, vous pouvez faire ceci :
sort ostechnix.txt | uniq -u
Exemple de sortie :
Linux is secure by default Top 500 super computers are powered by Linux
Comme vous pouvez le constater, seules deux lignes sont uniques dans le fichier donné.
De même, nous pouvons également afficher des lignes répétées dans le fichier, comme ceci :
sort ostechnix.txt | uniq -d
Exemple de sortie :
Linus is the creator of Linux. welcome to ostechnix
Ces deux lignes sont des lignes en double dans le fichier ostechnix.txt. Notez que -d (d minuscule) n'imprimera que les lignes en double, une par groupe. Pour imprimer toutes les lignes en double, utilisez -D (D majuscule) comme ceci :
sort ostechnix.txt | uniq -D
Voir la différence entre les deux options dans la capture d'écran ci-dessous :
Pour une raison quelconque, vous souhaiterez peut-être vérifier le nombre de fois où chaque ligne est répétée dans un fichier donné. Pour ce faire, utilisez l'option -c comme indiqué ci-dessous :
sort ostechnix.txt | uniq -c
Exemple de sortie :
Linus is the creator of Linux. Linux is secure by default Top 500 super computers are powered by Linux welcome to ostechnix
Nous pouvons également trier par nombre d'occurrences de chaque ligne puis l'afficher, comme indiqué ci-dessous :
sort ostechnix.txt | uniq -c | sort -nr
Exemple de sortie :
welcome to ostechnix Linus is the creator of Linux. Top 500 super computers are powered by Linux Linux is secure by default
Nous pouvons utiliser l'option -w pour limiter la comparaison à un nombre spécifique de caractères dans le fichier. Par exemple, comparons les quatre premiers caractères du fichier et affichons les lignes en double comme ceci :
uniq -d -w 4 ostechnix.txt
Comme limiter la comparaison aux N premiers caractères de la ligne du fichier, on peut également utiliser l'option -s pour ignorer la comparaison des N premiers caractères.
La commande suivante ignorera les quatre premiers caractères de chaque ligne du fichier à des fins de comparaison :
uniq -d -s 4 ostechnix.txt
Pour ignorer la comparaison des N premiers champs (annotation LCTT : les premières colonnes) au lieu des caractères, utilisez l'option -f dans la commande ci-dessus.
Pour plus de détails, veuillez vous référer à la section aide :
uniq --help
Vous pouvez également utiliser la commande man pour afficher :
man uniq
C'est tout pour aujourd'hui ! J'espère que vous avez maintenant une compréhension de base de la commande uniq et de son objectif. Si vous avez trouvé notre guide utile, partagez-le sur vos réseaux sociaux et continuez à nous soutenir. D'autres cadeaux arrivent, alors restez à l'écoute !
Bravo !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!