Perl al rescate:
perl -ane '
if ($F[2] ne $c3 || $F[3] ne $c4) {
$printed or print $previous;
$printed = print;
} else {
$printed = 0;
}
($c3, $c4, $previous) = (@F[2, 3], $_);
END { print $previous unless $printed }
' -- input.file
-n
lee la entrada línea por línea y ejecuta el código para cada línea. -a
divide cada línea de entrada en espacios en blanco en la matriz @F.