Uma maneira seria:
$ perl -lne 's/^/\n/ if $.>1 && /^\d+/; printf "%s",$_' file
20141101 server contain dump
20141101 server contain nothing {uekdmsam ikdas jwdjamc ksadkek} ssfjddkc * kdlsdlsddsfd jfkdfk
20141101 server contain dump
No entanto, também remove a nova linha final. Para adicioná-lo novamente, use:
$ { perl -lne 's/^/\n/ if $.>1 && /^\d+/; printf "%s",$_' file; echo; } > new
Explicação
O -lremoverá as novas linhas à direita (e também adicionará uma a cada printchamada, motivo pelo qual eu uso isso printf. Em seguida, se a linha atual começar com números ( /^\d+/) e o número da linha atual for maior que um ( $.>1isso é necessário para evitar adicionar mais linha vazia no início), adicione \na ao início da linha e printfimprime cada linha.
Como alternativa, você pode alterar todos os \ncaracteres para e \0, em seguida, alterar os \0que estão corretos antes de uma sequência de números para \nnovamente:
$ tr '\n' '\0' < file | perl -pe 's/\0\d+ |$/\n$&/g' | tr -d '\0'
20141101 server contain dump
20141101 server contain nothing {uekdmsam ikdas jwdjamc ksadkek} ssfjddkc * kdlsdlsddsfd jfkdfk
20141101 server contain dump
Para fazer corresponder apenas cadeias de 8 números, use este:
$ tr '\n' '\0' < file | perl -pe 's/\0\d{8} |$/\n$&/g' | tr -d '\0'