Jakim programem wyłowię z .txt dane i poukładam je?

Potrzebuję programu/narzędzia, które potrafiłoby przetworzyć dane z postaci:

STAN WYJŚCIOWY: plik tekstowy, zawierający nieuporządkowane dane kilku rodzajów. W zasadzie każdy wiersz to jeden “rekord”. Różne rekordy zawierają różne zestawienia danych, tj. w niektórych rekordach są informacje A, B, C, D, E, F, G, a w niektórych np. tylko A, B, E. Dane typu A występują w każdym rekordzie. Kolejność danych w rekordzie się nie zmienia, ale w wielu wierszach “brakuje” niektórych typów danych. Plik zawiera też tagi HTML, które są niepotrzebne, więc musiałbym wyrzucić wszystko co jest pomiędzy “<” a “>”. Poszczególne rodzaje danych są zawsze poprzedzone tym samym tekstem, poza jednym rodzajem (“A”), który prawidłowo powinien być na początku wiersza. Niestety dość często zdarza się nieregularność polegająca na wystąpieniu kilku “rekordów” w tym samym wierszu.

STAN DOCELOWY: plik csv, gdzie jeden wiersz = jeden rekord, a określone typy danych trafiają do sobie przypisanych “kolumn”.

Całość musiałaby działać następująco:

  1. wyrzucamy tagi HTML,

  2. rozpoznajemy poszczególne rodzaje danych,

  3. skoro rozpoznajemy juz dane “A” (metodą eliminacji), to możemy podzielić wielorekordowe wiersze na osobne wiersze,

  4. generujemy pliki CSV, tak by w każdym wierszu była równa liczba przecinków, a dane poszczególnych rodzajów trafiały w odpowiednie miejsca,

Przypuszczam, że podobną operację można wykonać w excelu/calcu, ale zupełnie nie wiem jak. A może jakiś program OCR? Albo harverster do e-maili (bo w sumie działa na podobnej zasadzie)?