O que acontece para a última linha ao usar o comando N com sed

4

Aqui está o meu comando sed:

echo -e "AB\nCD\nEF\nGH" | sed 'N; D;'

Imprime:

GH

enquanto sed processa a entrada linha a linha, o que acontece com a última linha? (Depois disso sed viu o fim de arquivo)? Quero dizer, o buffer padrão contém apenas 1 linha.

    
por Majid Azimi 21.04.2012 / 13:55

1 resposta

5

Ele interrompe o processamento. Do manual de segurança :

  • N : adicione uma nova linha ao espaço de padrão e, em seguida, anexe a próxima linha de entrada ao espaço de padrão. Se não houver mais entrada, o sed sairá sem processar mais comandos.

Por isso, nunca chega ao D; e você fica com apenas o último GH .

    
por 21.04.2012 / 18:46