# if return type on single line, append next line /EAPI.*[^;] *$/ { N; s/\n/ / } # while unfinished argument list, append next line :loop /,$/ { N; s/\n/ /; t loop } s/ \{2,\}/ /g s/^ *EAPI/EAPI/p