Awk - imprime o próximo registro seguindo o registro correspondente

Eu estou tentando obter um próximo campo após o campo correspondente usando o awk.

Existe uma opção para fazer isso ou eu preciso digitalizar o registro em array, em seguida, verificar cada campo no array e imprimi-lo depois disso?

O que eu tenho até agora:

O formato do arquivo é:

<FIELD><separator "1"><VALUE><separator "1"><FIELD><separator "1"><VALUE> 

... e assim por diante,field|value os pares são repetidos, será pelo menos um par em linha ou vários pares <10 por linha

dat.txt:

FIELDA01VALUEA01FIELDA21VALUEA21FIELDA31VALUEA3
FIELDB01VALUEB01FIELDB21VALUEB21FIELDB31VALUEB3
FIELDC01VALUEC01FIELDC21VALUEC21FIELDC31VALUEC3
FIELDD01VALUED01FIELDD21VALUED21FIELDD31VALUED3
FIELDE01VALUEE01FIELDE21VALUEE21FIELDE31VALUEE3

Com o script awk simples que imprime o segundo campo em uma linha correspondente ao FIELDB2:

#!/bin/awk -f

BEGIN { FS = "1" }
/FIELDB2/ { print $2 }

Executando o acima:

> ./scrpt.awk dat.txt

Me dá:

VALUEB0

Isso é porque a linha que corresponde:

FIELDB01VALUEB01FIELDB21VALUEB21FIELDB31VALUEB3

Quando dividido em registros parece:

FIELDB0 VALUEB0 FIELDB2 VALUEB2 FIELDB3 VALUEB3

Da qual o segundo campo éVALUEB0

Agora eu não sei qualFIELDXX vai corresponder, mas eu gostaria de imprimir o próximo registro na linha depoisFIELDXX que combinou, neste exemplo específico, quandoFIELDB2 corresponde eu preciso imprimirVALUEB2.

Alguma sugestão?

questionAnswers(2)

yourAnswerToTheQuestion