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    Successivo

Guida sistematica a SED - parte 01

Il ciclo di esecuzione ed il pattern space

Contenuti della Sezione

  1. Il ciclo di esecuzione ed il pattern space
    1. I terminatori di riga nel pattern space

Il meccanismo di lettura riga per riga si fonda sul così detto pattern space.

Il pattern space è un buffer (spazio di memorizzazione) in cui la riga di input viene memorizzata in attesa di essere processata.

Le istruzioni contenute nei vari script agiscono proprio sulla riga che è stata memorizzata nel pattern space.

Se il primo script modifica la riga nel pattern space, il secondo script agirà sulla riga modificata dal primo script.

Applicati tutti gli script sulla riga nel pattern space, questa viene inviata sullo standard output e nel pattern space viene caricata la riga successiva.

L'insieme di tutte queste attività gestite direttamente da SED prende il nome di ciclo di esecuzione che può essere schematizzato come segue:

  1. SED riceve una riga dallo stream di input
  2. SED carica la riga ricevuta nel pattern space
  3. SED applica sulla riga caricata nel pattern space tutti gli script passati con la riga di comando o tramite l'opzione -f
  4. SED, finita l'applicazione di tutti gli script, invia automaticamente allo atandard output la riga esistente nel pattern space; l'invio automatico può essere soppresso attraverso l'opzione -n
  5. SED svuota il pattern space

Conclusa l'attività n. 5, il ciclo ricomancia con l'attività n. 1, per cui SED riceve la riga successiva dallo stream di input; ogni riga dello stream di input ha, quindi, un proprio ciclo di esecuzione.

L'attività n. 3 è stata definita come applicare lo script sulla riga nel pattern space; questa definizione significa essenzialmente due cose:

  1. SED verifica se la riga è conforme all'adress dello script.
  2. In caso di conformità all'adress, SED esegue l'istructions dello script.

L'adress di uno script serve per determinare se sulla riga caricata nel pattern space debba essere eseguito l'istructions dello script.

I terminatori di riga nel pattern space

Le sequenze di caratteri caricate nel pattern space sono le righe di testo provenienti dallo stream di input.

Le righe di testo terminano con un newline.

I caratteri di newline finali, benchè facenti parte della riga di testo, non sono caricati sul pattern space.

Proprio perchè tale newline non è caricato nel pattern space, esso non influenza le verifiche di corrispondenza conseguenti alle espressioni regolari utilizzate negli script di SED.

Quando il pattern space è inviato, per qualsiasi causa, allo standard output, SED si preccupa di aggiungere nuovamente il newline finale.