Questo documento sfrutta i fogli di stile (CSS); senza il supporto dei fogli di stile, benché il testo sia comunque visualizzabile, non saranno visibili ne le formattazioni ne la struttura della pagina.

Sommario    Precedente   

Guida sistematica a SED - parte 01

L'istruction n - Sostituire il pattern space corrente con la riga successiva

L'istruction n, nel momento in cui viene eseguita, svuota il pattern space e su di esso carica la riga immediatamente successiva dallo stream di input.

Se è attivo l'output automatico, il pattern space, prima di essere svuotato, viene inviato allo standard otuput.

L'aspetto fondamentale dell'istruction n è che non viene iniziato un nuovo ciclo di esecuzione, nel senso che SED continuerà ad applicare sulla nuova riga caricata nel pattern space gli script successivi all'istruction n, fino alla fine del ciclo attuale.

L'istruction n può essere utilizzata in combinazione con qualsiasi adress; ciò consente di condizionare il caricamento della riga successiva a determinate caratteristiche della riga corrente.

Modello generale di caricamento condizionato
sed -n -e '/pattern 1/{
n
/pattern 2/d
/pattern 3/{
 s/pattern 4/replacement/g
 p
}
}' myfile.txt

In questo modello, se la riga corrente nel pattern space corrisponde al modello regexp pattern 1, viene eseguita l'istruction n e la riga successiva è caricata nel pattern space (l'output automatico è disattivato e quindi nulla è inviato allo standard output).
Gli script successivi all'istruction n sono applicati sulla nuova riga.

Se la nuova riga corrisponde al modello pattern 2 il pattern space viene svuotato (istruction d), viene caricata la riga successiva ed inizia nuovo ciclo di esecuzione (in pratica la riga caricata dopo l'istruction d viene confrontata con pattern 1).

Se la riga caricata con l'istructions n non corrisponde a pattern 2, viene confrontata con pattern 3; se c'è corrispondenza vengono applicati tutti gli script annidati in pattern 3:

  1. Il primo script annidato sostituisce, se esistono, tutte le parti corrispondenti a pattern 4 con replacment.
  2. Il secondo script annidato invia allo standard output la riga corrispondente a pattern 3, siano o non siano state eseguite le sostituzioni di pattern 4

Se la riga caricata con l'istruction n non corrisponde nemmeno a pattern 3, nulla viene eseguito (l'output automatico è disattivato), il ciclo di esecuzione termina, viene caricata nel pattern space la riga successiva ed inizia un nuovo ciclo di esecuzione

.