Use sed para corrigir novas linhas quebradas

6

Eu tenho uma pasta cheia de arquivos, cada um com centenas de linhas. Muitos desses arquivos têm novas linhas quebradas ocasionais: quando eu os abro no vim, muitos têm entremeado onde as novas linhas devem ser.

No vim, posso executar %s/^M^L/\r/g , que irá corrigi-los. No entanto, não quero ter que fazer isso em todos os arquivos.

Então, estou tentando fazer isso em um script bash via sed, mas não funcionou. Eu tentei os dois:

sed 's/^M^L/\r/g' filename e

sed 's/^M^L/\
/g' filename

Nota: cada vez que ^ M ^ L aparece aqui, eu fiz ctrl-v ctrl-m, não apenas shift-6 (^) M.

O que estou fazendo de errado? Mais ao ponto, o que preciso fazer para que isso funcione?

    
por David Oneill 28.02.2012 / 16:25

1 resposta

4

Você deve ser capaz de fazer:

sed 's/\x0C//g'

ou

sed 's/\x0D\x0C/\x0D/g'

ou se você estiver usando o GNU sed

sed 's/\r\f/\r/'
    
por 28.02.2012 / 16:41

Tags