Imprimir línea en el desplazamiento X en el volcado de memoria +/- 10 líneas en cada lado

Imprimir línea en el desplazamiento X en el volcado de memoria +/- 10 líneas en cada lado

Tengo una imagen de memoria enorme que estoy investigando y explorando (64 gb+). Demasiado grande para cargarlo en memoria/vim. Ejecuté cadenas en el archivo de memoria con las compensaciones incluidas y las guardé en un archivo para poder buscar los indicadores que me interesan. Ejemplo de salida:

332327467 Washington1 
332327514 Redmond1 
332327536 Microsoft Corporation1

¿Cómo tomo una de esas compensaciones e imprimo esa área específica en la memoria? Idealmente +/- 10 líneas (si hay líneas pares en la memoria). CREO que he visto a dd o xxd hacerlo, pero no estoy seguro.

Editar: Al final, mi flujo de trabajo exitoso se convirtió en:

strings --radix=d mem.dump >> mem.asc
strings --radix=d -el mem.dump >> mem.uni
grep "blah" mem.asc *or* mem.uni
*grab offset from beginning of line*
dd if=mem.dump  bs=1 skip=*offset here* count=100 | xxd

Restando del desplazamiento para retroceder ligeramente las palabras si es necesario, y cambiando count= para avanzar si es necesario.

Respuesta1

Si desea usar dd, puede usar skip=
bscuánto leer/escribir a la vez, offset= bs* skip. Contar es cuántas veces leer/escribir.
Ejemplo:

$ dd if=input of=output bs=1 skip=332327467 count=128

información relacionada