¿Qué programa está utilizando para ordenar las líneas y cómo lo invoca? Solo haciendo una comparación de bytes debe obtener los resultados que desea.
jwodder
Estoy usando sort (GNU coreutils) 8.5.
nnn
Para mi, solo corriendo sort en esas dos líneas se imprime la línea "c" antes de la línea "caml", por lo que debe estar ocurriendo algo más. ¿La línea "caml" contiene espacios en blanco iniciales adicionales en su archivo?
jwodder
Sí, ambas líneas contienen la misma cantidad de espacios iniciales.
nnn
1
Intenta agregar LC_ALL = C antes de ordenar la invocación, por ejemplo, "LC_ALL = C sort ...", tal vez sea un problema de configuración regional, por lo que está obteniendo un orden de clasificación extraño.
-k, --key=POS1[,POS2]
start a key at POS1, end it at POS2 (origin 1)
-t, --field-separator=SEP
use SEP instead of non-blank to blank transition
utilizando vim
:%sort /name=/
o
:%sort r /name="\w*"/
:[range]sor[t][!] [i][u][r][n][x][o] [/{pattern}/]
When /{pattern}/ is specified and there is no [r] flag
the text matched with {pattern} is skipped, so that
you sort on what comes after the match.
Instead of the slash any non-letter can be used.
For example, to sort on the second comma-separated
field: >
:sort /[^,]*,/
To sort on the text at virtual column 10 (thus
ignoring the difference between tabs and spaces): >
:sort /.*\%10v/
To sort on the first number in the line, no matter
what is in front of it: >
:sort /.*\ze\d/
With [r] sorting is done on the matching {pattern}
instead of skipping past it as described above.
For example, to sort on only the first three letters
of each line: >
:sort /\a\a\a/ r
sort
en esas dos líneas se imprime la línea "c" antes de la línea "caml", por lo que debe estar ocurriendo algo más. ¿La línea "caml" contiene espacios en blanco iniciales adicionales en su archivo?Respuestas:
utilizando
sort
utilizando
vim
o
fuente