Analizar datos multidimensionales en párrafos

Estoy tratando de analizar datos de un informe PDF y filtrar ciertos elementos interesantes. Usando pdftotext -layout obtengo datos en este formatting como mi punto de partida:

 Record Info Interesting 123 apple yep orange nope lemon yep ----------------------------------------------- 456 dragonfruit yep cucumber nope ----------------------------------------------- 789 kumquat nope lychee yep passionfruit yep yam nope ----------------------------------------------- 987 grapefruit nope 

Mi resultado previsto es este: cada fruta ' Interesting ' y su número de logging, excepto cuando la fruta es la primera fruta en su logging:

 Record Info 123 lemon 789 lychee 789 passionfruit 

Actualmente, inspirado por esta pregunta , estoy reemplazando ------ delimitadores de logging con \n\n y eliminando los encabezados de logging usando sed . Entonces puedo encontrar párrafos con loggings coincidentes con awk :

 awk -v RS='' '/\n .....................yep/' 

(Descubrir cómo escribir {3}.{21} o similar con uno de los awk s definitivamente es una batalla por otro día: /)

Esto produce los párrafos limpios como sigue:

 123 apple yep orange nope lemon yep 789 kumquat nope lychee yep passionfruit yep yam nope 

Desde aquí podría get el resultado deseado al:

  • agregar una segunda columna de número de logging, rellenada desde la primera columna de número de logging o la segunda columna de número de logging de la fila anterior
  • eliminar filas que tienen un número de logging en la primera columna
  • eliminar filas que no son intereresantes
  • cut las columnas finales

¿Estoy yendo en general en la dirección correcta aquí, o hay una manera más directa de analizar datos multidimensionales? Quizás grep ping una fila interesante (tiene yep y sin número de logging), luego grep hacia atrás desde allí a la siguiente fila con un número de logging no en blanco?