Сортировка файла на основе одного столбца с использованием Unix и Awk

Мне нужно отсортировать входной файл в соответствии с 6-м столбцом, который является результатом.

Входной файл:

Sc2/80 20 . AT 86 Pass N=2 F=5;U=4 Sc2/80 20 . AC 80 Pass N=2 F=5;U=4 Sc2/60 55 . GT 90 Pass N=2 F=5;U=4 Sc2/60 55 . GC 99 Pass N=2 F=5;U=4 Sc2/20 39 . CT 97 Pass N=2 F=5;U=4 Sc2/20 39 . CA 99 Pass N=2 F=5;U=4 

Ожидаемый результат:

 Sc2/20 39 . CT 97 Pass N=2 F=5;U=4 Sc2/20 39 . CA 99 Pass N=2 F=5;U=4 Sc2/60 55 . GT 90 Pass N=2 F=5;U=4 Sc2/60 55 . GC 99 Pass N=2 F=5;U=4 Sc2/80 20 . AT 86 Pass N=2 F=5;U=4 Sc2/80 20 . AC 80 Pass N=2 F=5;U=4 

Логика: все четные строки входного файла должны сравниваться и оцениваться в соответствии с оценкой (по убыванию), а также должна быть напечатана соответствующая нечетная строка файла. Если какой-либо из оценок (четных строк) равен, то нам нужно посмотреть на оценку соответствующей нечетной линии, и поэтому более высокий балл получает приоритет и печатается первым.

One Solution collect form web for “Сортировка файла на основе одного столбца с использованием Unix и Awk”

Возможное решение состоит в том, чтобы объединить каждую две строки, сортировать, а затем снова разделить соединенные линии

 awk '{ getline line; print $0, line }' input_file | sort -k6,6nr -k15,15nr | awk '{ $10 = "\n" $10; print }' 
  • awk: 0602-562 Поле $ () неверно. в сценарии ksh на AIX
  • Выполните условие IF из результата, который мы получаем с удаленного сервера
  • Как печатать строки между шаблоном 1 и 2-м совпадением шаблона2?
  • Удалите слова (буквы, за которыми следует пробел) из определенного столбца
  • Полевая печать Awk в тернарном операторе
  • Сделать awk и получить столбцы
  • Конкатенация столбцов при совпадении других полей
  • Переключать столбцы в CSV с помощью awk?
  • как удалить строку из файла XML
  • Awk / sed извлекает информацию, когда шаблон соответствует абзацу
  • Как найти конкретную строку и распечатать всю строку?
  • Linux и Unix - лучшая ОС в мире.