Сортировка 1 до 10 в Баш

Я численно сортирую по определенному столбцу; отдельный файл с:

sort -k3n file

Но числа 10 и 11 отсортированы до 1. Как это исправить?

 user125653928 июн. 2012 г., 15:24
Файл является & al;; разделены. Но не работает для меня, также с общим числовым
 Michał Trybus28 июн. 2012 г., 15:18
Пожалуйста, покажите пример входных и выходных файлов, где он не работает
 Michał Trybus28 июн. 2012 г., 15:27
Вы должны упомянуть об этом в вопросе :)
 rush28 июн. 2012 г., 15:19
Это работало хорошо на моей стороне. Вы уверены, что у вас нет ошибочного типа в номере столбца или какой-то странный разделитель, который не распознается?
 Emil Vikström28 июн. 2012 г., 15:18
Работает для меня. Вы уверены, что число, по которому вы сортируете, является третьим символом в каждой строке? Можете ли вы привести пример данных?

Ответы на вопрос(2)

что это не выводит нужный вам порядок?

echo -e "1\n10\n11\n2"|sort -n
 28 июн. 2012 г., 15:26
Я проверил это, и это работает.
 28 июн. 2012 г., 15:26
OP уже использует опцию n (в -k3n).
 28 июн. 2012 г., 15:27
Это должно;) В этом примере не используются более одного поля, разделенные точкой с запятой;)
Решение Вопроса

кроме пробела, вы можете использовать--field-separator или же-t вариант, вот так:

sort -k3n -t\; file
 28 июн. 2012 г., 15:31
Это решило проблему. Благодарю.
 28 июн. 2012 г., 15:50
Да, верно. Большое спасибо.
 28 июн. 2012 г., 15:35
@ g256: Вам также может понадобиться указать, что для сортировки рассматривается только одно поле (за один раз):sort -k3,3n -t ';'
 28 июн. 2012 г., 15:37
@ Денис Уильямсон: На самом деле проблема немного сложнее, так как я сортирую по двум столбцам (первый по алфавиту) с помощью & quot;sort -k 1,1 -k 3,3n -t\ file, Кажется, работает.
 28 июн. 2012 г., 15:43
@ g256: Вот почему я сказал «(за раз)». Например, если имеется четвертый столбец, и вы не указываете остановку (,3) затем четвертый (и последующие) столбцы включаются в критерии сортировки.

Ваш ответ на вопрос