El comando D (Delete) realiza las siguientes acciones:
- Si solo hubiese una línea en la zona de trabajo, la borra y comienza un nuevo ciclo, es como si se ejecutara el comando d.
- Si hay varias líneas en la zona de trabajo, borra la primera, y reinicia el ciclo con el contenido restante de la zona de trabajo sin leer una nueva línea.
Con el siguiente ejemplo mostraríamos siempre la última línea del flujo de entrada:
$ sed "N ; D" f g
cuatro
Usando el estándar Posix, debido al comportamiento del comando N, el ejemplo anterior no funcionaría como queremos:
$ sed --posix "N ; D" f g
$
Otra alternativa para el ejemplo anterior sería:
$ sed -n '$p' f g
cuatro