2010-07-06 5 views
1

J'ai un grand fichier texte avec des codes à 4 chiffres et des informations à leur sujet dans chaque ligne. Il ressemble à ceci:Tri d'un fichier texte et suppression des doublons

3456 information 
1234 info 
2222 Some ohter info 

je dois trier ce fichier, de sorte que les codes sont dans l'ordre croissant dans le fichier. En outre, certains codes apparaissent plus d'une fois, je dois donc supprimer les doublons. Puis-je le faire avec perl, awk ou un autre langage de script?

Merci à l'avance,

-skazhy

+0

Pour vous aider à démarrer plus rapidement, quels outils avez-vous déjà à votre disposition? Par exemple, vous pouvez le faire rapidement dans MS Excel. –

Répondre

4
sort happybirthday.txt | uniq 

De IBM.

1er résultat pour Google: unix remove duplicate lines.

+0

Wow merci, la réponse était si simple à ma question :) – skazhy

+1

Sortie du résultat dans un nouveau fichier: 'tri happybirthday.txt | uniq> happybirthday_sorted.txt' – mike23

0

Vous pouvez créer un hachage puis lire le fichier en ligne par ligne et pour chaque ligne

  • fendu au premier espace
  • vérifier si la valeur (0), le numéro que vous venez de diviser, est dans le hachage
  • sinon l'insert du val (1), reste de la ligne, dans le hachage avec une clé val (0)
  • continuer

imprimer ensuite le hash (trié) dans le fichier.

Questions connexes