A maioria dos sistemas inclui uma ferramenta chamada dos2unix
, que você pode "preparar" em um script para processar os arquivos necessários para executar essa operação.
Se os arquivos estiverem todos em um diretório, você pode usar find
para localizá-los e depois operar em cada um individualmente assim:
$ find . -type f -exec dos2unix {} +
Exemplo
Digamos que eu tenha essa estrutura de diretórios
$ tree
.
|-- afile
|-- dir1
| '-- afile
'-- dir2
'-- afile
Podemos usar nossa técnica find
para confirmar que todos os arquivos são arquivos "DOS" com a terminação de linha CRLF.
$ find . -type f -exec file {} +
./dir2/afile: ASCII text, with CRLF line terminators
./afile: ASCII text, with CRLF line terminators
./dir1/afile: ASCII text, with CRLF line terminators
E corrija tudo assim:
$ find . -type f -exec dos2unix {} +
dos2unix: converting file ./dir2/afile to Unix format ...
dos2unix: converting file ./afile to Unix format ...
dos2unix: converting file ./dir1/afile to Unix format ...
Resultando em apenas arquivos Unix:
$ find . -type f -exec file {} +
./dir2/afile: ASCII text
./afile: ASCII text
./dir1/afile: ASCII text