Имеет ли значение порядок аргументов команды сортировки в BASH?Linux

Ответить
Anonymous
 Имеет ли значение порядок аргументов команды сортировки в BASH?

Сообщение Anonymous »

У меня есть файл с содержимым:

Код: Выделить всё

manufacturer,model,year,mileage,price
plym fury 1970 73 2500
chevy malibu 1999 60 3000
ford mustang 1965 45 10000
volvo s80 1998 102 9850
ford thundbd 2003 15 10500
chevy malibu 2000 50 3500
bmw 315i 1985 115 450
honda accord 2001 30 6000
ford taurus 2004 10 17000
toyota rav4 2002 180 750
chevy impala 1985 85 1550
ford explor 2003 25 9500
Меня просят отсортировать файл сначала по названию производителя, а затем по цене в обратном порядке.
Я реализовал то же самое с помощью команды:
р>

Код: Выделить всё

(head -n 1 a) && (tail +2 a | sort -k1,1 -k5nr)
И дает правильный результат:

Код: Выделить всё

manufacturer,model,year,mileage,price
bmw 315i 1985 115 450
chevy malibu 2000 50 3500
chevy malibu 1999 60 3000
chevy impala 1985 85 1550
ford taurus 2004 10 17000
ford thundbd 2003 15 10500
ford mustang 1965 45 10000
ford explor 2003 25 9500
honda accord 2001 30 6000
plym fury 1970 73 2500
toyota rav4 2002 180 750
volvo s80 1998 102 9850
Однако, если я изменю sort -k1,1 -k5nr на sort -k1,1 -nrk5, я получу

Код: Выделить всё

manufacturer,model,year,mileage,price
ford taurus 2004 10 17000
ford thundbd 2003 15 10500
ford mustang 1965 45 10000
volvo s80 1998 102 9850
ford explor 2003 25 9500
honda accord 2001 30 6000
chevy malibu 2000 50 3500
chevy malibu 1999 60 3000
plym fury 1970 73 2500
chevy impala 1985 85 1550
toyota rav4 2002 180 750
bmw 315i 1985 115 450
Как одно незначительное различие меняет весь вывод и какую разницу оно имеет?
Я пробовал обращаться к различным источникам, но ни один из них не помог.

Подробнее здесь: https://stackoverflow.com/questions/785 ... er-in-bash
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»