Saltar la navegación

Comando n (next)

El comando n (next) se utiliza para reemplazar la zona de trabajo con la siguiente línea del flujo de entrada. Este comando consigue alterar el orden normal de trabajo de sed, algo que es importante cuando vayamos a realizar scripts complejos, que funcionarán como un programa donde se producen saltos y no solo ejecución secuencial.

Con más detalle, las acciones que se llevan a cabo cuando se ejecuta el comando n son:

  1. Envía a la salida estándar la zona de trabajo si no se está usando la opción -n.
  2. Lee una nueva línea del flujo de entrada y reemplaza la zona de trabajo con ella.
  3. Si el paso anterior no se puede llevar a cabo porque no hay más líneas en el flujo de entrada, sed termina su ejecución.

El ejemplo de mostrar solo las líneas impares que se vio en el apartado del comando p, lo podríamos hacer también ayudándonos del comando n:

$ sed -n 'p ; n' f
uno
tres

La diferencia entre los dos scripts está en que este último sigue el estándar POSIX, en cambio, el visto en el apartado del comando p no, pues usa la extensión GNU inicio~distancia que vimos en el apartado del ámbito de un comando.