sed è un ottimo strumento per semplici sostituzioni su una sola linea. Per qualsiasi altra manipolazione del testo basta usare awk per una semplice soluzione di più chiaro, più facilmente estendibile:
$ awk '/start_pattern/{f=1} /end_pattern/{f=0} !f;' file
blah1
blah2
end_pattern
blah6
blah7
Consulta anche:
$ awk '/start_pattern/{f=1} !f; /end_pattern/{f=0}' file
blah1
blah2
blah6
blah7
$ awk '!f; /start_pattern/{f=1} /end_pattern/{f=0}' file
blah1
blah2
start_pattern
blah6
blah7
$ awk '/start_pattern/{f=1} /end_pattern/{f=0} f;' file
start_pattern
blah3
blah4
blah5
$ awk '/start_pattern/{f=1} f; /end_pattern/{f=0}' file
start_pattern
blah3
blah4
blah5
end_pattern
$ awk 'f; /start_pattern/{f=1} /end_pattern/{f=0}' file
blah3
blah4
blah5
end_pattern
fonte
2013-05-19 12:36:10
Mi dispiace. Grazie per aver corretto la mia formattazione. – Springray
Nessun problema :) benvenuto su SO. –
In questa domanda http://stackoverflow.com/q/8164604/356440 si tratta di editing e cancellazione multi-linea usando 'sed', forse potrebbe darti qualche indizio/traccia. –