terça-feira, 25 de junho de 2013

Remoção de NEWLINE no meio de arquivo

Script AWK para remover caracteres 'newline' do meio de uma linha, a partir de um arquivo compactado e gerando um novo arquivo compactado:

gzip -dc arquivo.Z | awk -F'^' 'BEGIN{c=1}$0!=""{printf("%s",$0); if(NF+c>=243){printf("\n");c=1}else{c=NF}}' | gzip > arquivosaida.txt.gz

Versão em Perl

gzip -dc arquivo.Z | perl -e '$c=1;while(<STDIN>){$_=~s/\r|\n//g; if($_!=""){ @a = split("\\^", $_); print $_; if(($#a)+$c>=243){print "\n";$c=1}else{$c=$#a+1} }}' | gzip > arquivosaida.txt.gz


Agradecimentos ao sempre presente (nerd) Jorge Amorim !!

Nenhum comentário:

Postar um comentário