Ordenação incorreta de acordo com en_US.UTF-8

3

Estou vendo um comportamento estranho do comando sort quando eu ordeno por en_US.UTF-8.

Estou tentando classificar este arquivo (LC_COLLATE = en_US.UTF-8 sort testdata):

㐃㐄

▼▽◢

㎏㎜㎝

bqz

ㄠㄨㄩ─┃┆

◆□■△

ぁあぃい

┻╋┠┯┨

꓃꓄꓆꒺꒻

々—~‖…‘”

por Mario Caropreso 17.06.2013 / 11:37

1 resposta

3

Eu não esperaria que as strings inglesas estivessem necessariamente posicionadas antes de todas as outras strings após a classificação. Eu prefiro esperar que as strings sejam ordenadas primeiro pela ordem da linguagem ("david" antes de "mario") e então pelo número de ponto de código Unicode ("tipo do programador", correspondente a LC_ALL=C ) ou simplesmente deixado no lugar (já que as outras cordas não são inglesas).

De man sort , concluo que o arquivo /usr/lib/locale/en_US.UTF-8/LC_COLLATE deve conter a sequência de classificação, mas esse arquivo não está no meu sistema, mesmo sendo uma instalação em inglês. ( /usr/lib/locale/C.UTF-8/LC_COLLATE é meu único arquivo de agrupamento.)

    
por 17.06.2013 / 11:55