Bash сортировки чисел с десятичными

У меня есть файл вроде так:

1.1
3.2
1.2
1.10

Я хотел бы отсортировать файл так, чтобы он выглядел так:

1.1
1.2
1.10
3.2

Другими словами, 1,10 больше, чем 1,2

Я старался:

sort -nk 1,1 file

Но я продолжаю получать это, а это не то, что я хочу

1.1
1.10
1.2
3.2

Спасибо

2 ответа

Решение

С сортировкой GNU:

sort -t "." -n -k1,1 -k2,2 file

Выход:

1,1
1.2
1,10
3,2

Вы можете использовать -V вариант.

sort -V numbers

Однако эта опция есть только в GNU Coreutils и может отсутствовать в других реализациях.

См. /questions/31753783/sortirovka-chisel-s-neskolkimi-desyatichnyimi-znakami-v-bash/31753805#31753805

Другие вопросы по тегам