Unix para DOS
Para converter, por exemplo, todos os arquivos *.h
no formato DOS:
sed -i '/\r/! s/$/\r/' *.h
A condição /\r/!
informa sed para ignorar todas as linhas que já possuem um retorno de carro. Por causa disso, é seguro executar este comando várias vezes no mesmo arquivo.
O comando de substituição, s/$/\r/
, adiciona um retorno de carro ao final de cada linha.
A opção -i
informa ao sed para alterar o arquivo no local. Se alguém quisesse manter backups dos originais:
sed -i.bak '/\r/! s/$/\r/' *.h
DOS para Unix
Para converter no local todos os arquivos *.h
do DOS para o Unix:
sed -i 's/\r$//' *.h
Este comando também é seguro para ser executado várias vezes nos mesmos arquivos.
OSX / BSD
Para o BSD (OSX) sed, o argumento para a opção -i
é obrigatório, não opcional. Portanto, use -i.bak
para fazer um backup com extensão .bak
ou use -i ''
para alterar os arquivos in-loco sem fazer backup.