Forums -> Глюкодром -> Сортировка строк
| Full Version

Stackanovets
Есть текстовый файл, в котором много однострочных предложений, разделены обычным переводом строки.

Типа такого:

Гггггггг
Ввввввв
Ааааааа
Ббббббб


Нужно это дело отсортировать по алфавиту. Но ума не приложу как это сделать?
mts
Excel.
inzerus
Windows: в командной строке:

type file.txt | sort > sorted.txt
FiL
QUOTE (inzerus @ 21-06-2015, 21:35)
Windows: в командной строке:

type file.txt | sort > sorted.txt
в *nix заменить type на cat.
Stackanovets
inzerus во, то что надо! :handup: Не думал что так просто будет. Думал нужны какието приблуды.
Отсортировало странно как-то, не совсем по алфавиту, но по крайней мере дубликаты нашло.

А в эксель не понял как загнать чтоб каждая строка в отдельной ячейке была. У меня эксель тот который у гугля Sheets или как он там.
mts
Не знаю как у Гугля, но у МС просто бросаешь файл в Эксель.
FiL
QUOTE (Stackanovets @ 22-06-2015, 18:14)
inzerus во, то что надо! :handup: Не думал что так просто будет. Думал нужны какието приблуды.
Отсортировало странно как-то, не совсем по алфавиту, но по крайней мере дубликаты нашло.

А в эксель не понял как загнать чтоб каждая строка в отдельной ячейке была. У меня эксель тот который у гугля Sheets или как он там.
что значит "не совсем по алфавиту"? Может с локалью проблемы?

Ну или можно гнутый сорт попробовать из http://unxutils.sourceforge.net/

Stackanovets
QUOTE (FiL @ 23-06-2015, 16:08)
что значит "не совсем по алфавиту"? Может с локалью проблемы?
То и значит что сначала идёт буква Д... потом Н... потом опять Д..., вклинивается Х..., Ю..., потом опять Н.... Ну и в таком духе всё. Логика сортировки неясна. Но по крайней мере все дубликаты, там где строки полностью совпадают, вместе поскладывала. А это была вобщемто цель.
FiL
странно. очень странно. никогда не встречал такого поведения.
а в какой кодировке файл?
Stackanovets
QUOTE (FiL @ 25-06-2015, 05:35)
странно. очень странно. никогда не встречал такого поведения.
а в какой кодировке файл?

1251 ANSI Cyr
Brait
Такая сортировка получилась из-за путаницы с локалью.
Команда type file.txt | sort /l C > sorted.txt отсортирует кодировку Windows-1251 правильно, но буква Ё (из-за своей нестандартности) выбъется из сортировки и вылезет в начало файла...
FiL
ага, или переконвертировать в 866 и тогда отсортировать. Потом можно обратно отконвертить.