Tente este:
sed '1{/^$/d}' file
Eu tenho uma solução para isso em awk
:
awk '{if (NR==1 && NF==0) next};1' somefile
mas não conseguiu encontrar um que funcionasse em sed
. Por exemplo,
sed -i.bak '/^$/{1,1d;}' somefile
acabamos excluindo a primeira linha em branco encontrada (não sou especialista em sed
, então estava apenas experimentando coisas). A vantagem para sed
neste caso é que eu seria capaz de fazer isso sem arquivos temporários. ou seja, no lugar.
Uma alternativa:
sed '0,/^$/d' file
E como uma adivinhação em negrito, você pode querer excluir todas as linhas em branco antes da primeira linha (contendo quaisquer caracteres), se for o caso, podemos tentar o seguinte:
sed '1,/^$/d' file
Tags bash text-processing sed tcsh shell