Então, recorri ao camelo e com uma linha de Perl, resolvi o problema:
C:\perl -pe "}{$_=$." meu_arquivo_grande.txt
8738433
Não podia ser mais simples e claro.
Desobediência tecnológica
C:\perl -pe "}{$_=$." meu_arquivo_grande.txt
8738433
select *
from a
left outer join b partition by (cz) on a.ca=b.ca
select
to_char(nasc,'MMDD') nasc,
sexo,
count(1) total
from pessoas
group by to_char(nasc,'MMDD'), sexo
select to_char(trunc(sysdate, 'YYYY')+rownum-1, 'MMDD') dia
from all_tables
where rownum<367
select dia, sexo, nvl(total, 0)
from (
select to_char(trunc(sysdate, 'YYYY')+rownum-1, 'MMDD') dia
from all_tables
where rownum<367
) dias
left outer join (
select to_char(nasc,'MMDD') nasc, sexo, count(1) total
from pessoas
group by to_char(nasc,'MMDD'), sexo) p partition by (sexo) on p.nasc=dia
order by dia, sexo
0101 | F | 2 |
0101 | M | 0 |
0102 | F | 1 |
0102 | M | 3 |
select nasc, sexo, substr(SYS_CONNECT_BY_PATH(nome,', '),3) nomes
from (
select
nasc, nome, sexo,
row_number() over (partition by nasc, sexo order by nome) ordem,
row_number() over (partition by nasc, sexo order by nome desc) medro
from (
select to_char(nasc, 'MMDD') nasc, sexo, nome from pessoas
)
)
where medro=1
start with ordem=1
connect by prior nasc=nasc and prior sexo=sexo and prior ordem=ordem-1
select dia, sexo, nvl(nomes,'-') nomes
from (
select to_char(trunc(sysdate, 'YYYY')+rownum-1, 'MMDD') dia
from all_tables
where rownum<367
) dias
left outer join (
select nasc, sexo, substr(SYS_CONNECT_BY_PATH(nome,', '),3) nomes
from (
select
nasc, nome, sexo,
row_number() over (partition by nasc, sexo order by nome) ordem,
row_number() over (partition by nasc, sexo order by nome desc) medro
from (
select to_char(nasc, 'MMDD') nasc, sexo, nome from pessoas
)
)
where medro=1
start with ordem=1
connect by prior nasc=nasc and prior sexo=sexo and prior ordem=ordem-1
) p partition by (sexo) on p.nasc=dia
order by dia, sexo
0101 | F | Helena, Maria |
0101 | M | - |
0102 | F | Fernanda |
0102 | M | Henrique, João, Pedro |