como limpar espaços de linhas / colunas livres após a linha de seus dados

1

Eu tenho um problema na limpeza do meu arquivo, onde há espaços livres desnecessários abaixo da minha última linha de dados. Isso é criado quando copio e colo meus dados do Excel para texto. Eu quero o meu arquivo de texto para caber meus dados apenas. Isso reduzirá o tempo computacional quando eu estiver executando meu modelo. Acabei de saber que o tamanho do meu arquivo é grande devido ao espaço livre indesejado abaixo da minha última linha de dados.

Quero que você me ajude a limpar as linhas indesejadas.

    
por AiB 03.09.2013 / 19:53

1 resposta

4

awk '{l=l$0 RT};NF{printf "%s",l;l=""}' < your-file

Removeria as linhas em branco à direita.

Se o arquivo for grande, você pode querer lê-lo do final até encontrar a primeira linha não vazia.

Com ferramentas GNU:

tac your-file | sed -ne '/[^[:blank:]]/!{p;d;}' -e q | wc -c

retornaria o tamanho das linhas vazias no final.

E você poderia usar isso para truncar o arquivo.

Por exemplo, com bash :

find . -type f -name '*.txt' -print0 |
  while IFS= read -rd '' file; do
    n=$(tac "$file" | sed -ne '/[^[:blank:]]/!{p;d;}' -e q | wc -c)
    [ "$n" -eq 0 ] || truncate -r "$file" "-s-$n" "$file"
  done
    
por 03.09.2013 / 20:20