때때로 GNU 정렬이 예상대로 작동하지 않습니다. 예는 다음과 같습니다.
> bind | sort
(이것은 물고기를 사용한다고 가정합니다. bash에서 이에 해당하는 것은 입니다 bind -p
.) 출력에서 알파가 아닌 모든 문자는 기본적으로 정렬에서 무시되어 의도를 훼손합니다. 다음은 출력 샘플입니다.
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
\e[a-z]
내가 원했던 것은 모든 키 바인딩을 서로 옆에 두는 것이었습니다 . 모든 문자를 문자와 동일하게 처리하여 ASCII 순서로 엄격하게 정렬하도록 정렬 동작을 어떻게 변경합니까? 매뉴얼 페이지를 살펴봤지만 유용한 내용을 찾지 못했습니다.
답변1
당신 말이 맞아요, 완벽하게 무작위로 낯선 사람입니다. sort의 명령줄 스위치에는 이에 대한 옵션이 없습니다. 그러나 정렬은 이런 식으로 동작하도록 만들 수 있습니다. 당신이 해야 할 일은 로케일을 변경하는 것 뿐입니다:
> 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
...