remove o caractere de retorno de carro do arquivo binário grande

2

Eu tenho um arquivo binário grande (quase arquivo binário!) que tem muitos \ r \ n  in [é gerada no windows env e não tem controle sobre a geração de aplicativos] . Desejo remover \ r deste arquivo grande [= ~ 1Gb] para processar mais em outro aplicativo herdado que grita em \r 's

Existe alguma maneira fácil de fazer isso da maneira unix?

    
por Prashant Bhate 30.06.2011 / 12:26

1 resposta

7

Ou é binário ou não é. No caso em que sua coisa realmente não é binária, mas apenas um texto complicado, aqui estão algumas soluções.

Primeiro, muitas distribuições do Linux vêm com um utilitário chamado dos2unix que você pode executar em um arquivo para converter o estilo de término de linha:

$ dos2unix original_file converted_file

Você também pode fazer isso com tr da seguinte forma:

$ tr -d '\r' < orignal_file > converted_file

Ou com o perl:

$ perl -pne 's/\r$//g' < orignal_file > converted_file
    
por 30.06.2011 / 12:41