A veces, la clasificación GNU no se comporta como se esperaba. He aquí un ejemplo:
> bind | sort
(Esto supone que estás usando pescado. En bash, el equivalente es bind -p
.) Todos los caracteres no alfabéticos en la salida básicamente se ignoran en la clasificación, lo que socava la intención. Aquí hay una muestra del resultado:
bind --preset \e\b backward-kill-word
bind --preset \eb backward-word
bind --preset \e\[B down-or-search
bind --preset \e\< beginning-of-buffer
bind --preset \e cancel
bind --preset \ec capitalize-word
bind --preset \e\[C forward-char
bind --preset \e\[D backward-char
bind --preset \ed kill-word
Lo que quería era poner todas \e[a-z]
las combinaciones de teclas una al lado de la otra. ¿Cómo cambio el comportamiento de clasificación para ordenar estrictamente en orden ASCII, tratando todos los caracteres igual que letras? Busqué en la página de manual y no encontré nada útil.
Respuesta1
Tienes razón, un extraño completamente aleatorio. No hay ninguna opción para esto en los modificadores de la línea de comandos de clasificación. Pero se puede hacer que sort se comporte de esta manera. Todo lo que tienes que hacer es cambiar la configuración regional:
> bind | LANG=C sort
...
bind --preset \e\x7f backward-kill-word
bind --preset \eb backward-word
bind --preset \ec capitalize-word
bind --preset \ed kill-word
bind --preset \ee edit_command_buffer
bind --preset \ef forward-word
bind --preset \eh __fish_man_page
bind --preset \el __fish_list_current_token
...