¿Qué sucede con la última línea cuando se usa el comando N con sed?

¿Qué sucede con la última línea cuando se usa el comando N con sed?

Aquí está mi comando sed:

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

Imprime:

GH

Mientras sedprocesa la entrada línea por línea, ¿qué sucede con la última línea? (¿Cuándo sedvio después de eso Fin de archivo)? Quiero decir que el búfer de patrón solo contiene 1 línea.

Respuesta1

Detiene el procesamiento. Desde elmanual de sed:

  • N: agregue una nueva línea al espacio del patrón, luego agregue la siguiente línea de entrada al espacio del patrón. Si no hay más entradas, entonces sed sale sin procesar más comandos.

Por lo tanto, nunca llega al D;, y te quedas solo con el último GH.

información relacionada