Existem muitas ferramentas que você pode usar para fazer isso. Aqui está uma solução em perl.
Na linha de comando:
perl -p -e 's/^ *//; s/ *$//; chomp' < FILE > OUTFILE
em que você substitui FILE
pelo nome do arquivo e OUTFILE
pelo novo arquivo no qual deseja que a saída seja gravada. Não use o mesmo nome de arquivo para ambos.
O que ele faz: perl -p
executa um script perl em cada linha da entrada obtida e grava o resultado na saída. Você está configurando a entrada e a saída com os operadores <
e >
para os arquivos desejados. O próprio script segue a opção -e
e faz três substituições.
s/^ *//
: substitui qualquer número de espaços (espaço, estrela) no início da linha ( ^
) com nada (o comando s/this/that/
muda this
para that
).
Se você espera ter caracteres TAB em vez de espaços, faça s/^[ \t]*//
, que substitui qualquer número de espaços ou tabulações ( \t
).
s/ *$//
: mesmo, mas no final da linha ( $
).
chomp
: perl-speak para remover a quebra de linha no final de uma linha.