Eu duvido que sed seja a ferramenta certa para o trabalho, neste caso. Eu acho que você provavelmente quer usar awk , se você já está familiarizado com awk , caso contrário, escreva um programa.
Conheço um engenheiro que usou sed e awk para criar arquivos de entrada MSC / NASTRAN, que tinham requisitos ainda mais rigorosos do que o que você mencionou, mas ele estava bastante familiarizado com as ferramentas, erro tão críptico e pouco informativo mensagens de awk não o incomodaram.
Se você quiser fazer isso com awk , meu conselho seria pré-processar a entrada para remover '-' e '|' personagens. Escreva o programa awk em um arquivo separado. Use posições de campos de texto ($ 1, $ 2, $ 3 ...) e escreva instruções SQL INSERT para a saída. Serão necessárias várias tentativas, portanto, automatize o máximo possível.