Итак, я видел здесь много вопросов о сортировке, и я надеялся, что кто-то сможет очистить мою. У меня есть файл, который выглядит следующим образом:Сортировка в файле по столбцам Linux
data dd 0.0 96 157 KL 71 X 6947
data fb 0.0 11 3R2 HD 13 1 1850
data bx 0.0 14 352 FG 12 X 4810
data bh 0.0 13 3GF FH 1T 1 6840
data fb 0.0 11 3R2 HD 13 1 1325
etc.
Я хочу, чтобы отсортировать файл по 8-й и 9-й строки, так что выход заключается в следующем:
data bx 0.0 14 352 FG 12 X 4810
data dd 0.0 96 157 KL 71 X 6947
data fb 0.0 11 3R2 HD 13 1 1325
data fb 0.0 11 3R2 HD 13 1 1850
data bh 0.0 13 3GF FH 1T 1 6840
etc.
Я попытался
рода -n -k7 -k8 файл> NewFile
Но сортирует его только это много:
data dd 0.0 96 157 KL 71 X 6947
data bx 0.0 14 352 FG 12 X 4810
data fb 0.0 11 3R2 HD 13 1 1850
data bh 0.0 13 3GF FH 1T 1 6840
data fb 0.0 11 3R2 HD 13 1 1325
etc.
Так что я пробовал:
> sort -n -k8 -k9 file > newfile
Но это только делает его хуже
data dd 0.0 96 157 ZL 71 P 69412217
data fb 0.0 11 3R2 HX 13 1 185135150
data bx 0.0 14 352 FG 12 X 4810
data bh 0.0 13 3GF FH 1T 1 6840
data fb 0.0 11 3R2 HY 13 L 132321355
etc.
Я также попробовать:
сортировать -n -k8,9 файл> NewFile
Но это не выглядело надежным, потому что оно было л.д. сделать несколько правильно подряд, а потом бросить в некоторых случайных парней:
data dd 0.0 96 157 KL 71 X 6947
data bx 0.0 14 352 FG 12 26 443810
data fb 0.0 11 3R2 HD 13 1 1850
data bh 0.0 13 3GF FH 1T 1 6840
data bx 0.0 14 352 FG 12 2 465310
data fb 0.0 11 3R2 HD 13 1 1325
etc.
Что это такое, что я делаю неправильно здесь?
Большое спасибо! Теперь, одна вещь, с которой мне трудно было понять на странице руководства, - почему вы должны указывать от 8 до 8 с -k8,8? Я просто чувствую, что это немного придирчиво/избыточно? – Stephopolis
@Stephopolis Это указать с начала 8-го, до конца 8-го. Если вы опустите конец 8, он будет считать «до конца строки». – cnicutar
Ах! Я вижу, это объясняет, что я вижу. Опять же, большое спасибо. – Stephopolis