sed '/^[[:alpha:]]/{$!N;s/\n/ /;}' <<\DATA
NAME_A
12,1
NAME_B
21,2
DATA
OUTPUT
NAME_A 12,1
NAME_B 21,2
Isso endereça as linhas que começam com uma letra, puxa a próxima se houver uma e substitui um caractere de tabulação pela nova linha.
observe que o s/\n/<tab>/
bit contém um caractere de tabulação literal aqui, embora alguns sed
s também possam suportar o \t
escape em seu lugar
Para lidar com uma situação recursiva, você precisa torná-la um pouco mais robusta, assim:
sed '$!N;/^[[:alpha:]].*\n[^[:alpha:]]/s/\n/ /;P;D' <<\DATA
NAME_A
NAME_B
12,1
NAME_C
21,2
DATA
OUTPUT
NAME_A
NAME_B 12,1
NAME_C 21,2
Que desliza por um conjunto de dados sempre com uma linha à frente. Se duas linhas ^[[:alpha:]]
ocorrerem uma após a outra, ela não substituirá a nova linha, como você pode ver.