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

Когда NetExtender установлен, он исправляет файлы конфигурации ppp. Патчи зависят от дистрибутива. Когда ppp обновляется дистрибутивом, исходная конфигурация восстанавливается. После этого NetExtender перестает работать именно с этими симптомами (, останавливаясь на Connecting tunnel...). Решение состоит в том, чтобы переустановить NetExtender.

1
13.05.2020, 18:58
2 ответа

Думаю, вы имели в виду «напечатать эту строку», а не «удалить». Вы можете установить счетчик, если столбец3 содержит O, а столбец8 больше 0. Выведите строку, если счетчик больше нуля и уменьшить счетчик.

$ awk '$3=="O" && $8>0{ p=4 } p-->0' file
ATOM     22  O   WAT     3       5.959   0.828   3.228  1.00  0.00           O
ATOM     23  H1  WAT     3       5.425   1.196   2.482  1.00  0.00           H
ATOM     24  H2  WAT     3       6.711   1.472   3.201  1.00  0.00           H
TER
ATOM     28  O   WAT     5      -3.222  -3.303   5.524  1.00  0.00           O
ATOM     29  H1  WAT     5      -2.934  -3.466   4.594  1.00  0.00           H
ATOM     30  H2  WAT     5      -3.063  -2.335   5.580  1.00  0.00           H
TER
ATOM     34  O   WAT     7       4.329   2.267   1.528  1.00  0.00           O
ATOM     35  H1  WAT     7       4.574   2.208   0.572  1.00  0.00           H
ATOM     36  H2  WAT     7       4.370   3.237   1.645  1.00  0.00           H
TER
3
28.04.2021, 23:14
awk '$3 == "O" && $8 > 0.0{x=NR+3}(NR<=x){print }' file

выход

ATOM     22  O   WAT     3       5.959   0.828   3.228  1.00  0.00           O
ATOM     23  H1  WAT     3       5.425   1.196   2.482  1.00  0.00           H
ATOM     24  H2  WAT     3       6.711   1.472   3.201  1.00  0.00           H
TER
ATOM     28  O   WAT     5      -3.222  -3.303   5.524  1.00  0.00           O
ATOM     29  H1  WAT     5      -2.934  -3.466   4.594  1.00  0.00           H
ATOM     30  H2  WAT     5      -3.063  -2.335   5.580  1.00  0.00           H
TER
ATOM     34  O   WAT     7       4.329   2.267   1.528  1.00  0.00           O
ATOM     35  H1  WAT     7       4.574   2.208   0.572  1.00  0.00           H
ATOM     36  H2  WAT     7       4.370   3.237   1.645  1.00  0.00           H
TE

Р

1
28.04.2021, 23:14

Теги

Похожие вопросы