2017-08-22 1 views
0

J'ai un fichier csv délimité par des tuyaux (peut être fait un fichier .txt si nécessaire). Je veux une liste de toutes les valeurs uniques dans la colonne 4. J'utilise un Mac avec Terminal. MerciComment compter le nombre de valeurs uniques d'un champ dans un fichier texte délimité par des barres?

Exemple:

12345|1|2|Blue|54321 
23456|1|2|Blue|23456 
34567|1|2|Green|34567 

Je voudrais une liste qui comprend 'Blue', 'Vert'

+0

S'il vous plaît noter la ligne de l'échantillon ci-dessus contient 3 enregistrements meilleurs rangé verticalement pour cette illustration. –

Répondre

0

Avec intégré dans macOS awk comme ceci:

awk -F'|' '{print $4}' YourFile | sort | uniq 

Sortie

Blue 
Green 

Votre titre de la question implique que vous attendez que la réponse soit 2, parce qu'il ya deux valeurs uniques, dans ce cas, comptez les lignes trop:

awk -F'|' '{print $4}' file | sort | uniq | wc -l 
2 
+0

Mark, tu as raison mon titre était confus mais les infos que tu as fournies étaient super. Merci. –