У меня есть файлы следующего формата:
ATOM 3736 CB THR A 486 -6.552 153.891 -7.922 1.00115.15 C
ATOM 3737 OG1 THR A 486 -6.756 154.842 -6.866 1.00114.94 O
ATOM 3738 CG2 THR A 486 -7.867 153.727 -8.636 1.00115.11 C
ATOM 3739 OXT THR A 486 -4.978 151.257 -9.140 1.00115.13 O
HETATM10351 C1 NAG A 203 33.671 87.279 39.456 0.50 90.22 C
HETATM10483 C1 NAG A 702 28.025 104.269 -27.569 0.50 92.75 C
ATOM 3736 CB THR B 486 -6.552 86.240 7.922 1.00115.15 C
ATOM 3737 OG1 THR B 486 -6.756 85.289 6.866 1.00114.94 O
ATOM 3738 CG2 THR B 486 -7.867 86.404 8.636 1.00115.11 C
ATOM 3739 OXT THR B 486 -4.978 88.874 9.140 1.00115.13 O
HETATM10351 C1 NAG B 203 33.671 152.852 -39.456 0.50 90.22 C
HETATM10639 C2 FUC B 402 -48.168 162.221 -22.404 0.50103.03 C
Я хотел бы разделить файл после каждой строки, начинающейся с HETATM*, но только если следующая строка начинается с ATOM. Я бы хотел, чтобы новые файлы назывались $basename_$column, где $basename — это базовое имя входного файла, а $column — это символ в позиции 22-23 (в примере A или B). Я не могу понять, как проверить обе последовательные строки, чтобы определить точку разделения.
next
иprint ... > filename
для выполнения задачи. Используйте глобальную переменную для просмотра предыдущей строки. - person n. 1.8e9-where's-my-share m.   schedule 27.08.2011