2011-10-07 7 views
2

J'ai un fichier journal avec des entrées sur le formulaire suivant que je veux trier numériquement dans le champ Numéro ID.Tri numérique avec tri

2011-10-06 08:13:48 ID_39 message1 
2011-10-06 09:13:5s ID_239 message2 

J'ai essayé d'accomplir ceci avec la commande sort mais je ne semble pas obtenir les clés à droite. Tri avec sort -b -k 3 juste trier les choses par ordre alphabétique et -n (tri numérique) ne semble pas aider.

Comment puis-je aller de cette

ID_394 
ID_65 
ID_9 
ID_99 

à cela?

ID_9 
ID_65 
ID_99 
ID_394 

Répondre

2

sort -t _ -k 2 -n, ce qui signifie: des champs séparés par _, trier numériquement par seconde trame.

+0

J'ai bien travaillé, merci! – ihatetoregister

1

J'ai découvert que sort -b -k 3.4 -n a fait l'affaire. Avec -b pour ignorer les blancs principaux, -k 3.4 pour trier pour le troisième champ, à partir de la quatrième lettre et -n pour numériquement.