sort -u -t, -k1,1 file
-u
pour unique-t,
donc la virgule est le délimiteur-k1,1
pour le champ clé 1
Résultat du test :
[email protected],2009-11-27 00:58:29.793000000,xx3.net,255.255.255.0
[email protected],2009-11-27 01:05:47.893000000,xx2.net,127.0.0.1
awk -F"," '!_[$1]++' file
-F
définit le séparateur de champs.$1
est le premier champ._[val]
rechercheval
dans le hash_
(une variable régulière).++
incrémenter et renvoyer l'ancienne valeur.!
renvoie un non logique.- il y a une impression implicite à la fin.
Pour envisager plusieurs colonnes.
Trier et donner une liste unique basée sur la colonne 1 et la colonne 3 :
sort -u -t : -k 1,1 -k 3,3 test.txt
-t :
deux-points est un séparateur-k 1,1 -k 3,3
basé sur la colonne 1 et la colonne 3