Сортировка по имени?

Я пытаюсь сортировать следующий файл

http://pastebin.com/EqA2SUMy .

  • Как использовать сортировку gnu для сортировки строк с разделителем поля, представленным только на некоторых строках
  • Получить список индексов каждого элемента в списке, как если бы он отсортирован
  • Что означает -k1,1 в сортировке
  • Создание сортировки использует все процессоры CORES
  • наибольшее возможное количество для sort -n
  • сортировать по столбцу
  • Но часть, которую я пытаюсь сортировать, – это поле 11, и только если первое поле является атомом. Вот пример

    ATOM 33 CG ASP A 438 8.283 24.407 131.412 1.00 17.18 C ATOM 34 OD1 ASP A 438 9.153 23.597 131.783 1.00 17.73 O ATOM 35 OD2 ASP A 438 7.530 25.009 132.208 1.00 18.39 O ATOM 36 N PHE A 439 5.102 23.813 128.903 1.00 12.35 N ATOM 37 CA PHE A 439 3.680 23.598 129.138 1.00 12.15 C 

    Я знаю, как сортировать файл на основе полей. Например, для моего файла это будет

      sort -k11 <\file path > 

    sort, основанный на одиннадцатом поле, но как его сортировать, только если первое поле является атомом b / c, есть поля, которые идут до 11 и начинаются с HETATM и т. д.

  • Что означает -k1,1 в сортировке
  • Масштабируемость «sort -u» для гигантских файлов
  • сортировать в unix на большом файле
  • Можно сортировать сортировку 1 2 3 4..9 вместо 1 10 11 12 .. 2 20
  • Попытка сортировать по двум полям, затем сначала
  • Использование сортировки с алфавитно-цифровыми именами файлов
  • 2 Solutions collect form web for “Сортировка по имени?”

    Это должно работать, если я правильно понял, вам нужны только строки, начинающиеся с ATOM .

     sort -k11 <(awk '$1 ~ /ATOM/' file) 

    Объяснение:

    • sort -k11 : сортировать по 11- sort -k11 полю
    • awk '$1 ~ /ATOM/' file : только печатает поля startig с ATOM
    • Часть awk представляет собой вход для части sort

    Как бы вы хотели, чтобы конечный результат выглядел? Должны ли все строки с первым полем ATOM появляться в верхней части файла, конец файла?

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

     grep -v ^ATOM file > result; sort -k11 < grep ^ATOM file >> result 
    Linux и Unix - лучшая ОС в мире.