Tengo esta entrada:
sdkxyosl 1
safkls 2
asdf--asdfasxy_asd 5
dkd8k jasd 29
sdi44sw 43
asasd afsdfs 10
rklyasd 4
Necesito esta salida:
sdi44sw 43
dkd8k jasd 29
asasd afsdfs 10
asdf--asdfasxy_asd 5
rklyasd 4
safkls 2
sdkxyosl 1
Entonces necesito ordenar las líneas por la última columna.
No sé cuántas columnas hay en una línea.
Simplemente no puedo entender cómo hacerlo. No tengo "poderes perl". Solo tengo ~ poderes de script promedio con sed, awk, cut, etc.
¿Alguien sabe cómo hacerlo?
text-processing
sort
LanceBaynes
fuente
fuente
sort -k
. Labegfield
función en GNU sort simplemente cuenta regresiva a cero. Su enfoque de decorar-ordenar-decorar (DSU) parece ser la mejor manera, creo.$NF,$RS
y no$NF,$0
? No sabía$RS
que hiciera eso. (Supongo que es equivalente a$NF,$"\n"
, que hace lo mismo, pero eso también es sorprendente, creo).$
puede seguir cualquier expresión. " El efecto de la expresión de número de campo que se evalúa para cualquier cosa que no sea un entero no negativo no está especificado ". GNU awk (en mi sistema) trata una cadena"\n"
como cero. Otros (por ejemplo, la implementación original de A, W y K) abortan con un mensaje de error. SiRS
resulta ser un dígito, obtendría el campo correspondiente en cualquier implementación. Así que no hagas esto, úsalo$0
.