shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Quebra de linha


From: Marcelo Andrade
Subject: Re: [shell-script] Quebra de linha
Date: Mon, 14 Dec 2009 18:12:50 -0300

2009/12/14 Eduardo <address@hidden>
>
> Senhores,
>
> tenho o seguinte problema:
>
> Tenho uma frase... <quebra de linha>
> 1-
>
> Toda vez que tiver uma frase e na linha seguinte aparecer um número seguido
> de traço "-" tenho que remover a quebra de linha e deixar tudo na mesma
> linha.
>
> Já tentei de tudo pelo SED mas não consegui.
>
> Antecipadamente obrigado.

Fiz algo parecido com isso esses dias.  Era uma planilha, exportada para csv,
mas em que uma dada coluna acabou contendo quebras de linha e corrompeu
severamente o arquivo.  No meu caso, todas as linhas válidas iniciavam com
seis dígitos, dois espaços e um pipe.

O código segue abaixo.  Espero que ajude.


# unifica as quebras de linha
dos2unix -b $1

# troca todas as quebras de linha por um marcador
awk '{printf("%s", $0 (NR==1 ? "" : "{LF}"))}' $1 > decisao.log.2

# quebra em arquivos menores para evitar truncamento
#split -l 100000 decisao.log.2 ~decisao-

# inclui uma quebra de linha sempre antes dos padrões de inicio
sed 's/ [0-9][0-9][0-9][0-9][0-9][0-9]  |/\n&/g' decisao.log.2 > decisao.log.3

# destroca o marcador
sed 's/{LF}/ /g' decisao.log.3 > decisao.log.4

# remove linhas em branco
sed '/^$/d' decisao.log.4 > decisao.txt

# salvando os arquivos
cp decisao.log.4 $1.conv

# remove arquivos temporarios...
rm -f decisao.log.[0-9]


Atenciosamente.

--
MARCELO DE F. ANDRADE
Belem, PA, Amazonia, Brazil
Linux User #221105


reply via email to

[Prev in Thread] Current Thread [Next in Thread]