SED da la possibilità di selezionare un intervallo di righe di testo su cui eseguire una o più istructions specificate: per mezzo di due adress separati da virgole è possibile definire tale intervallo.
La prima riga dell'intervallo è quella selezionata da adress1, l'ultima riga dell'intervallo è quella che sarà elezionata da adress2; su tutte le righe esistenti fra la prima e l'ultima, comprese la prima e l'ultima, sarà eseguita l'istruction dello script.
Se la riga caricata nel pattern space è in effetti all'interno dell'intervallo definito con i due adress, allora su tale riga è eseguita l'istruction.
L'adress che identifica la prima riga dell'intervallo può essere di tipo diverso dall'adress che identifica l'ultima riga dell'intervallo; per cui, ad esempio, il primo adress può ssere di tipo numero di linea, mentre il secondo può essere di tipo espressione regolare.
L'inversione della selezione, definita dal modificatore !, è applicabile anche agli intervalli.
In pratica le istructions dello script saranno applicate su tutte le righe che non fano parte dell'intervallo o degli intervalli individuati con i due adress.
Merita maggiore attenzione un intervallo definito da due adress di tipo espressione regolare, in quanto la corrispondenza al modello, sia del primo che del secondo adress, può sussistere in più righe dello stream di input.
SED parte confrontando le righe con l'espressione del primo adress; nel momento in cui verifica la corrispondenza, tale riga viene selezionata e su di essa vengono eseguite le istructions dello script.
Le righe successive a quella corrispondente al primo adress vengono invece confrontate con il modello regexp del secondo adress; se la corrispondenza non viene verificata, esse sono comunque selezionate, in quanto membri dell'intervallo definito dai due adress di tipo regexp; su ciascuna di queste righe vengono applicate le istructions dello script.
Quando la corrispondenza con il modello del secondo adress è verificata, vuol dire che siamo arrivati all'ultima riga dell'intervallo; tale riga viene selezionata e su di essa vengono esguite le istructions dello script.
A questo punto, SED riparte a confrontare le righe successive all'ultima riga dell'intervallo, con il modello regexp del primo adress, e nel caso vi sia una corrispondenza, il ciclo descritto precedentemente si ripete.