awk: Exibir regex correspondente (multilinha)

Eu tenho um arquivo que se parece com isso:

SF:/home/developer/project/test/resources/somefile.js
DA:1,2
DA:3,2
end_of_record
SF:/home/developer/project/src/resources/otherfile.js
DA:9,2
DA:15,2
DA:22,2
end_of_record

...some more SF:/home/xxx and end_of_record lines...

O arquivo consiste em blocos que começam comSF: ... e terminando comend_of_record. Observe que a contagem das linhas entreDA:x,x) pode ser diferente. Quero imprimir todos os blocos que tenham a string "test" em sua primeira linha (como "SF: / home / developer /teste/ resources / ... "aqui). Para este exemplo, minha saída desejada seria:

SF:/home/developer/project/test/resources/somefile.js
DA:1,2
DA:3,2
end_of_record

Eu quero fazer isso em umLinux meio Ambiente.

Minha primeira tentativa foi fazer isso usando o comando "sed", mas depois de algumas pesquisas parecia que "awk" é uma ferramenta mais adequada para fazer operações multilinhas.

Usando awk e Regex, este é o comando que tenho até agora:

awk '/SF[:\/a-zA-Z0-9]*test[\/A-Za-z0-9.,:\n]*end_of_record/ {print}' FS="\n" RS="" examplefile

Mas produz o totalexamplefile, não apenas os blocos contendo "teste" na primeira linha. Eu não tenho certeza se o meu Regex está errado ou se estou faltando alguma coisa na minhaawk ligar.

Como posso obter apenas o bloco com "teste" na primeira linha?

questionAnswers(2)

yourAnswerToTheQuestion