Suponiendo que los datos están estructurados de modo que siempre sea la línea anterior y posterior a la que desea, puede usar los interruptores grep -A(after) y -B(before) para indicar que incluya la línea 1 antes del partido y la línea 1 después:
$ grep -A 1 -B 1 "42B" sample.txt
Pseudo name=Apple
Code=42B
state=fault
Si desea las mismas líneas numéricas antes y después del término de búsqueda, puede usar el -Cinterruptor (contexto):
$ grep -C 1 "42B" sample.txt
Pseudo name=Apple
Code=42B
state=fault
Si desea ser más estricto al hacer coincidir las líneas múltiples, puede usar la herramienta pcregrep, para hacer coincidir un patrón en varias líneas:
$ pcregrep -M 'Pseudo.*\n.*42B.*\nstate.*' sample.txt
Pseudo name=Apple
Code=42B
state=fault
El patrón anterior coincide de la siguiente manera:
-M - líneas múltiples
'Pseudo.*\n.*42B.*\nstate.*'- coincide con un grupo de cadenas donde la primera cadena comienza con la palabra "Pseudo"seguida de cualquier carácter hasta el final de la línea \n, seguido de cualquier carácter hasta la cadena "42B"seguido de cualquier carácter hasta el otro extremo de la línea ( \n), seguido de la cadena "state"seguido de cualquier personaje.