Сawk
awk '{ printf (NF)?$0:RS } END{ print ""}' infile
Это объединяет все строки в одну, если это не пустая строка (строка, содержащая/набор табуляции, пробела и новой строки ).
это решение не зависит от фиксированных 3 строк в каждой группе.
для конкретного случая, если у вас было несколько пустых строк и чтобы избежать их повторения в результате, вы можете сделать:
awk 'NF{ skip=0; printf $0; next} !skip{ printf RS; skip=1 } END{ print ""}' infile