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
-s
-u ou --unique affiche les lignes et les colonnes une seule fois.
-w
--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!