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

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

Re: [shell-script] script para limpar arquivos texto


From: jimmy
Subject: Re: [shell-script] script para limpar arquivos texto
Date: Mon, 29 Sep 2008 17:15:01 -0300
User-agent: Mutt/1.4.2.3i

On Mon, Sep 29, 2008 at 01:22:47PM -0300, Ricardo Vendramini wrote:
> 
>       Ola
> 
>       Esta é minha primeira participacao nesta lista, e gostaria de 
> aperfeicoar um pequeno script que fiz para limpar um arquivo texto.
> 
>       Usando o sed, ele remove espacos em branco e tabs do final de cada 
> linha de texto. Tambem remove o caracter 0x0D dos finais de linha, 
> convertendo a quebra de linha do padrao DOS/Win (0x0D,0x0A) para padrao 
> Unix (0x0A).
> 
>       No script, dentro dos colchetes [ tc] tem um espaco em branco, um TAB 
> (0x09) e um LF (0x0D), que substitui por 'tc' ja q esses caracteres nao 
> daria pra enviar por email diretamente (dá pra substitui-los por codigos 
> ASCII?)
>       
>       Os ls antes e depois é para ver o tamanho do arquivo antes e depois da 
> limpeza, para comparacao.
> 
> 
> #!/bin/bash
> ls -l $1
> cat $1 |sed 's/[ tc]*$//g' >$1
warning: aqui ele pega o conteúdo de $1 e joga dentro dele mesmo!

substitua essa linha por:

  sed -i 's/[ \t\r]$//' $1

e faça um teste

> ls -l $1
> 
>       Mas ha alguma falha que nao consegui descobrir, as vezes quando executo 
> o script em algum aquivo texto, o resultado é um arquivo vazio (0 bytes 
> de tamanho), perdendo todo seu conteudo.
> 
>       Alguem enxerga algum erro ou tem alguma sugestao pra melhora-lo?
> 
>       Abraco
> 
>       Ricardo Vendramini
> 
> 
>       
> 
> ------------------------------------


reply via email to

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