$ awk '/HURRAY/ { ok = 1 } ok == 1 && /^FINAL SINGLE POINT ENERGY/ { printf("Found optimized final energy: %s\n", $NF) }' input-s.out
Acho que isso faz o que seu script de shell está tentando fazer.
Se encontrar a string HURRAY
em algum lugar, define ok
para 1 (sua variável optimized
). Se ok
for 1 e encontrar uma linha começando com a string FINAL SINGLE POINT ENERGY
, ela exibirá a mensagem seguida do valor na última coluna da mesma linha.