Я новичок AWK. У меня есть следующий мотив в огромном файле.
~ Gradients ~
~ x y z ~
~~
~ H 1 0.00781 0.00108 0.00038 ~
~ H 2 0.01271 -0.01507 0.02839 ~
~ C 1 -0.05015 -0.01803 0.01588 ~
~ O 1 0.01733 0.03089 -0.04611 ~
~ O 2 0.01230 0.00114 0.00147 ~
Мне нужно извлечь эти цифры (XYZ):
0.00781 0.00108 0.00038
0.01271 -0.01507 0.02839
-0.05015 -0.01803 0.01588
0.01733 0.03089 -0.04611
0.01230 0.00114 0.00147
Я написал следующий скрипт:
awk '/z ~/ {for(i=-2; i<=3; i++) {getline; print $4, $5, $6}}' filename
Но это дает мне пустую строку из-за строки "~~".
Я хотел бы игнорировать эту строку и получает только столбцы XYZ
xyz
xyz
xyz
xyz
и т.д. без каких-либо пустых строк ...
Кто-нибудь может мне помочь, пожалуйста?