Ordinamento di una colonna di file CSV risultante in 1123 che appare prima del 232
Domanda
Domanda specifica - Bad Titolo Sto cercando di ordinare un set di dati CSV come -
2014/06/04 13:19:06.970,1124,Post Request,200,OK,text,true,,782,1,0
2014/06/04 13:18:27.241,237,Post Request,200,OK,text,true,,303,1,0
2014/06/04 13:12:15.973,2224,Post Request,200,OK,text,true,,1551,1,0
2014/06/04 13:12:31.365,238,Post Request,204,No Content,,true,,237,1,0
2014/06/04 13:12:29.892,1429,Post Request,204,No Content,,true,,237,1,0
.
Usando -
sort -t"," -k2,3
.
Il risultato è
2014/06/04 13:19:06.970,1124,Post Request,200,OK,text,true,,782,1,0
2014/06/04 13:18:27.241,1429,Post Request,200,OK,text,true,,303,1,0
2014/06/04 13:12:15.973,2224,Post Request,200,OK,text,true,,1551,1,0
2014/06/04 13:12:31.365,237,Post Request,204,No Content,,true,,237,1,0
2014/06/04 13:12:29.892,238,Post Request,204,No Content,,true,,237,1,0
.
Ma voglio qualcosa di simile -
2014/06/04 13:19:06.970,237,Post Request,200,OK,text,true,,782,1,0
2014/06/04 13:18:27.241,238,Post Request,200,OK,text,true,,303,1,0
2014/06/04 13:12:15.973,1124,Post Request,200,OK,text,true,,1551,1,0
2014/06/04 13:12:31.365,1429,Post Request,204,No Content,,true,,237,1,0
2014/06/04 13:12:29.892,2224,Post Request,204,No Content,,true,,237,1,0
.
o il contrario di questo (in realtà il contrario è meglio per me). Cosa sto facendo male?
Soluzione
Aggiungi -n
per risolverlo numericamente:
$ sort -n -t"," -k2,3 file
2014/06/04 13:18:27.241,237,Post Request,200,OK,text,true,,303,1,0
2014/06/04 13:12:31.365,238,Post Request,204,No Content,,true,,237,1,0
2014/06/04 13:19:06.970,1124,Post Request,200,OK,text,true,,782,1,0
2014/06/04 13:12:29.892,1429,Post Request,204,No Content,,true,,237,1,0
2014/06/04 13:12:15.973,2224,Post Request,200,OK,text,true,,1551,1,0
.
o Reverse con -r
:
$ sort -rn -t"," -k2,3 file
2014/06/04 13:12:15.973,2224,Post Request,200,OK,text,true,,1551,1,0
2014/06/04 13:12:29.892,1429,Post Request,204,No Content,,true,,237,1,0
2014/06/04 13:19:06.970,1124,Post Request,200,OK,text,true,,782,1,0
2014/06/04 13:12:31.365,238,Post Request,204,No Content,,true,,237,1,0
2014/06/04 13:18:27.241,237,Post Request,200,OK,text,true,,303,1,0
.
Da man sort
:
.-n , --numeric-sort
Confronta secondo il valore numerico della stringa
-r , --Reverse
Invertire il risultato dei confronti
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow