sort utility on cyrillic text

1

Eu tenho que classificar algumas linhas de caracteres cirílicos e eu quero usar o utilitário de classificação (no MAC OS X 10.6). O problema é que o resultado está incorreto. Eu pego o texto na área de transferência e, em seguida, corro pasta de pasta | ordenar Estes são dados em texto plano, e eu também tentei passar um arquivo para o comando sort.

Meus dados de origem são

Биатлон
Арбуз
Фото
Пума
Перина
Новость
Карандаш
Перина с двумя пододеяльниками
Карикатура
Куст
Фигура

E depois de classificar eu recebo

Куст
Пума
Фото
Арбуз
Перина
Фигура
Перина с двумя пододеяльниками
Биатлон
Новость
Карандаш
Карикатура

Essas linhas nem mesmo são agrupadas pela primeira letra. Eu tentei a opção -d, mas depois recebi um erro

sort: a comparação de string falhou: sequência de bytes ilegal sort: Configure LC_ALL = 'C' para contornar o problema. ordenar: As cadeias comparadas foram 0111' and \ 320 \ 320 \ 321 \ 321 \ 320 '.

Exportar a variável como recomendado não resolve o problema. O que posso fazer para usar o utilitário de classificação para tal tarefa? Qualquer informação adicional é necessária?

    
por Anton 16.03.2010 / 15:17

2 respostas

2

Eu acredito que você precisa definir o local. Eu acho que você pode fazer isso:

LC_ALL="ru" pbpaste | sort

(A primeira parte define a variável de ambiente LC_ALL para a duração do comando).

Estou executando o Leopard. Quando eu emito um pbpaste, todos os caracteres são substituídos por pontos de interrogação. Salvei o texto em um arquivo codificado em UTF-8 chamado sort_temp.txt e em execução:

sort sort_temp.txt 

fornece a mesma lista classificada incorretamente que você postou, mas executando

LC_ALL="ru" sort sort_temp.txt

ou

LANG="ru" sort sort_temp.txt

fornece uma lista corretamente classificada.

    
por 16.03.2010 / 18:27
0

Tente salvar os dados no arquivo codificado em unicode (ou UTF8) e, se o utilitário de classificação estiver ativado para unicode, ele deverá funcionar. Eu acho que o problema é que o pbpaste não define a codificação corretamente. Eu não sou usuário de Mac, então é apenas um palpite.

    
por 16.03.2010 / 16:58

Tags