Em Perl:
$ perl -ne 'print $last,"$_\n" if /^Commandline/; $last=$_' foo.txt
Start-Date: 2013-11-11 07:43:49
Commandline: apt-get install --no-install-recommends catfish
Start-Date: 2013-10-17 23:00:06
Commandline: apt-get install shimmer-themes
Start-Date: 2013-10-17 23:01:52
Commandline: apt-get install --no-install-recommends gedit
Ou para remover linhas em branco:
$ perl -ne 'print $last,$_ if /^Commandline/; $last=$_' foo
Start-Date: 2013-11-11 07:43:49
Commandline: apt-get install --no-install-recommends catfish
Start-Date: 2013-10-17 23:00:06
Commandline: apt-get install shimmer-themes
Start-Date: 2013-10-17 23:01:52
Commandline: apt-get install --no-install-recommends gedit
A opção -n
faz com que perl
processe um arquivo de entrada linha a linha, salvando cada linha na variável especial $_
. O scriptlet acima imprime a linha atual ( $_
) e a linha anterior ( $last
) se a atual começar com Commandline
. Em seguida, ele salva a linha atual como $last
e passa para a próxima linha.