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
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


        

Responder a