Maison  >  Article  >  Opération et maintenance  >  Comment utiliser la commande Linux Uniq

Comment utiliser la commande Linux Uniq

WBOY
WBOYavant
2023-05-16 19:05:101623parcourir

La commande Linux uniq est utilisée pour vérifier et supprimer les lignes et colonnes répétées dans les fichiers texte. Elle est généralement utilisée en conjonction avec la commande de tri.

uniq peut vérifier les lignes et colonnes répétées dans les fichiers texte.

Syntaxe :

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

Paramètres :

-c ou --count Affiche le nombre de fois que la ligne est répétée à côté de chaque colonne.

-d ou --repeated affiche uniquement les colonnes répétées.

-f ou --skip-fields= ignore les champs spécifiés dans la comparaison.

-s ou --skip-chars= ignore les caractères spécifiés de la comparaison.

-u ou --unique affiche les lignes et les colonnes une seule fois.

-w ou --check-chars= spécifie les caractères à comparer.

--help Afficher l'aide.

--version affiche les informations de version.

[Fichier d'entrée] Spécifiez le fichier texte trié. Si cela n'est pas spécifié, les données sont lues à partir du standard ;

[output file] spécifie le fichier de sortie. Si cette option n'est pas spécifiée, le contenu est affiché sur le périphérique de sortie standard (terminal d'affichage).

Exemple :

Les 2ème, 3ème, 5ème, 6ème, 7ème et 9ème lignes du fichier test sont les mêmes. Utilisez la commande uniq pour supprimer les lignes en double. Vous pouvez utiliser la commande suivante :

uniq

Original. contenu dans le fichier test Pour :

$ cat testfile      #原有内容  
test 30  
test 30  
test 30  
Hello 95  
Hello 95  
Hello 95  
Hello 95  
Linux 85  
Linux 85

Après avoir utilisé la commande uniq pour supprimer les lignes en double, le résultat suivant apparaît :

$ uniq testfile     #删除重复行后的内容  
test 30  
Hello 95  
Linux 85

Vérifiez le fichier et supprimez les lignes répétées dans le fichier, et affichez le nombre de lignes répétées au début de la ligne. Utilisez la commande suivante :

uniq

Le résultat est le suivant :

$ uniq -c testfile      #删除重复行后的内容  
3 test 30             #前面的数字的意义为该行共出现了3次  
4 Hello 95            #前面的数字的意义为该行共出现了4次  
2 Linux 85

Lorsque les lignes répétées ne sont pas adjacentes, la commande uniq ne fonctionne pas. Autrement dit, si le contenu du fichier est le suivant, la commande uniq ne fonctionne pas :

$ cat testfile1      # 原有内容 
test 30  
Hello 95  
Linux 85 
test 30  
Hello 95  
Linux 85 
test 30  
Hello 95  
Linux 85

Ceci, nous pouvons utiliser le tri :

$ sort  testfile1 | uniq
Hello 95  
Linux 85 
test 30

pour compter le nombre de fois où chaque ligne apparaît dans le fichier :

$ sort testfile1 | uniq -c
   3 Hello 95  
   3 Linux 85 
   3 test 30

pour rechercher les lignes en double dans le fichier :

$ sort testfile1 | uniq -d
Hello 95  
Linux 85 
test 30

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer