Espressione in termini matematici, vorrei eliminare una regione di [MarkA,MarkB)
. Cioè, la cancellazione avviene proprio quando MarkA
viene trovata la parola chiave , fino alla parola chiave MarkB
, ma non includendo quella linea (la linea che include la MarkB
parola chiave non viene toccata).
È possibile farlo in sed
?
Di 'la mia MarkA
a dire ^3
, ed MarkB
è 7
,
$ seq 9 | sed '/^3/,/7/d'
1
2
8
9
Verrà 7
cancellato ma voglio preservarlo.
Per essere più precisi, posso localizzare con precisione MarkA
(ad es. ^3
), Ma voglio cancellare fino al primo MarkB
. Vale a dire,
seq 19 | sed '/^3/,/7/d'
è quello che sto cercando se la 7
riga non viene eliminata.