Ответы:
Вам необходимо указать sort -n
сортировку по части после =
:
sort -t = -k 2n
-k2n
? Это относится к числовой сортировке? благодарю вас.
-k
определяет ключ сортировки. Смотрите man-страницу для подробностей. -k2n
определяет ключ сортировки, начинающийся во втором поле и заканчивающийся в конце строки, и делает его числовым ключом сортировки.
использовать сортировку:
sort -n file1 > file2
-n, --numeric-sort
сравнить по числовому значению строки
sort -g file1 > file 2
-g, --general-numeric-sort
sort -n
поскольку они не начинаются с цифры. Причина, по которой они сортируются, заключается в последней строке сортировки по полной строке (лексически, а не численно), выполняемой для строк с одинаковым ранжированием. Это было бы сортировать "$lvl=17"
раньше "$lvl=2"
.
-n
и -g
здесь избыточны, так как ввод не числовой. Таким образом, этот ответ вводит в заблуждение, отсюда и отрицательный голос (также обратите внимание, что -g
и длинные параметры специфичны для GNU).
-n
том, что он не ограничен десятичными целыми числами. Это все еще сортировалось "$lvl=17"
раньше "$lvl=2"
как часть сортировки в крайнем случае.
Я обнаружил, что вы просто бежите sort -h
, это будет работать. Они называют это --human-numberic-sort
.
sort -h file1 > file2
sort -n
это то, что вы хотите использовать. Это сортирует, как мы сортируем числа.sort -k 2 -n file1
sort
на вашем File1, без параметров, я получаю ваш File2. Что ты делаешь по-другому? Что ты оставляешь вне этого вопроса?