A função getline lê a próxima linha e move o script para ela. Portanto, as chamadas getline consecutivas são movidas para a próxima linha. Talvez isso seja mais fácil de entender com um exemplo:
$ cat input.txt
foo
1
2
$ awk '/foo/{print; getline; print; getline; print}' input.txt
foo
1
2
Como você pode ver acima, o script processará a primeira linha porque corresponde a foo . Cada chamada para getline lerá a linha após a atual, portanto, as chamadas print subseqüentes estão imprimindo as próximas linhas.