Почему выходы `sort`,` sort k 1`, `sort k 1,1` равны?

У меня есть файл:

$ cat file
1 c
8 a
1 b
5 f

Я думаю, что команда sort в начале сравнивает первое поле всех строк и сортирует их, тогда для этих строк имеют равные первые поля и снова начинает сортировку для следующих полей:

$sort file
1 b
1 c
5 f
8 a

Я читал о разнице между опциями k 1 и k 1,1: с k 1 возможно, что ключ сортировки продолжается до конца строки, но с k 1,1 он должен сортировать только первое поле без учета других полей, но:

$sort -k 1 file
1 b
1 c
5 f
8 a

$sort -k 1,1 file
1 b
1 c
5 f
8 a

Почему выходы sort = sort k 1 = sort k 1,1 равны?

Я думаю, что выход sort k 1,1 file должен быть

1 c 
1 b
5 f
8 a

Если это неверно, скажите, пожалуйста, какая у меня ошибка, и как я могу получить такой вывод?

1
задан 11 October 2016 в 11:15

1 ответ

Если вы хотите, чтобы второй столбец был отменен (это не правильный ответ на ваш конкретный вопрос, но, возможно, это то, что вас интересует), выбирая бит из Unix StackExchange, вы получаете:

sort -k1,1n -k2,2r file
3
ответ дан 23 May 2018 в 05:23

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

Похожие вопросы: