Administrateur Linux - Commande uniq

Voici les commutateurs couramment utilisés avec uniq. Cette commande signale ou omet les lignes répétées.

Commutateur action
-c Préfixe les lignes par le nombre d'occurrences
-je Ignorer la casse
-u N'imprimez que des lignes uniques
-w Vérifiez les caractères, ne comparez pas plus de n caractères
-s Ignorer les caractères, éviter de comparer les deux premiers N caractères
-F Ignorer les champs, éviter de comparer les N premiers champs
-RÉ Imprimer tous les groupes de lignes en double

Nous avons brièvement utilisé uniq dans quelques exemples précédents. leuniqLa commande nous permet de filtrer les lignes de fichiers en fonction des correspondances. Par exemple, disons que nous avons un deuxième employé nommé Matt Davis dans les ventes. Trois jours plus tard, la comptabilité a besoin de nouvelles estimations pour les primes de participation aux ventes pour le prochain trimestre. Nous pouvons vérifier la liste des employés à l'aide de la commande suivante.

[[email protected] centos]# cat ./Documents/names.txt | wc -l 
30 
[[email protected] centos]#

Nous leur disons 30 personnes en ventes pour les prix de participation annuels. Il y a peut-être de bonnes chances que la comptabilité remarque un écart: ils n'ont eu besoin que de 29 plaques de récompense uniques produites. Essayons à nouveau -

[[email protected] Documents]# cut -d ":" -f 1,2 ./names.txt | sort | uniq | wc -l 
29
[[email protected] Documents]#

Maintenant, nous avons suffisamment d'informations pour donner à la comptabilité un nombre précis de récompenses de participation uniques pour le département des ventes (ils n'auront pas besoin de payer pour faire fabriquer deux plaques uniques. Il suffit de dupliquer une seconde pour "Matt Davis").

Note- Lorsque vous recherchez des lignes uniques, nous voulons toujours utiliser le tri, en acheminant sa sortie vers uniq. Si les entrées non-uniq ne sont pas une séquence en ligne, elles ne seront pas considérées comme des lignes dupliquées.

Pour générer rapidement un rapport nous indiquant combien de commerciaux partagent un bureau -

[[email protected] Documents]# sort -t":" -k3 ./names.txt | cut -d ":" -f3  | 
uniq -c | sort -n 
  1 100 
  1 108 
  1 201 
  1 203 
  1 204 
  1 205 
  1 206 
  1 301 
  1 304 
  1 404 
  1 405 
  1 501 
  1 504 
  1 602 
  1 603 
  1 608 
  1 702 
  1 902 
  2 101 
  2 102 
  2 305 
  2 901 
  2 903 
  3 403 
  
[[email protected] Documents]#