$ sed -n '/--START--/{:a;N;/--END--/!ba; /Device=A/p}' file
--START--
Device=A
Data=asdfasdf
Lorem=Ipsum
--END--
--START--
Device=A
Data=asdfasdf
--END--
(O acima foi testado no GNU sed. Ele teria que ser massageado para funcionar no BSD / OSX.)
Como funciona:
-
/--START--/{...}Sempre que chegarmos a uma linha que contenha
--START--, execute os comandos dentro das chaves{...}. -
:aDefina um rótulo
a. -
NLeia a próxima linha e adicione-a ao espaço do padrão.
-
/--END--/!baA menos que o espaço padrão agora contenha
--END--, retorne ao rótuloa. -
/Device=A/pSe chegarmos aqui, isso significa que o espaço dos padrões começa com
--START--e termina com--END--. Se, além disso, o espaço de padrão contiverDevice=A, imprima (p).