Como você diz ao awk para usar um #caractere sozinho em uma linha como separador de registros? O problema é que você não pode dizer RS="^#$"porque ^corresponde ao início do arquivo, não ao início de uma linha, e RS="#\n"também não funciona porque corresponde a #caracteres que não estão no início de uma linha.
$ data='#
first record, first field
first record, second field
#
second record, first field#
second record, second field
'
Em seguida, imprima o primeiro campo de cada registro, usando RS="#\n":
$ printf "%s" "$data" | awk '
BEGIN { RS="#\n"; FS="\n" }
/./ {print $1}
'
first record, first field
second record, first field
second record, second field
A última linha está errada porque não é o primeiro campo, mas o segundo. A saída pretendida foi
first record, first field
second record, first field#
1
Você poderia agradar também fornecem um exemplo da saída que você precisa
—
roaima
para que seus dados se pareçam
—
21415 Skaperen
line one#line two#line three?
e
—
21415 Skaperen
RS="#"faz o que?
@ Skaperen no, os dados se parecem
—
Ernest A
#\nrecord one\n#\nrecord twoe cada registro consiste em vários \ncampos separados.
RS='#\n'deve funcionar afaik - embora possa tratar o inicial #como encerra uma ficha vazio (ou seja, todos os NRvalores serão "off" por um)