find /path -type f -print0 | xargs -0 dos2unix --
Existe uma maneira de aplicar o comando dos2unix
para que ele seja executado em todos os arquivos em uma pasta e em suas subpastas?
man dos2unix
não mostra -r
ou opções semelhantes que tornariam isso direto?
Você pode usar find para encontrar todos os arquivos em uma estrutura de diretórios que deseja executar através do comando dos2unix
find /path/to/the/files -type f -exec dos2unix {} \;
Dê uma olhada nas páginas de manual para encontrar, há muitas opções que você pode usar para especificar o que é avaliado
Ignorar binários e arquivos ocultos foi importante para mim:
Este funcionou bem para mim:
find . -type f -not -path '*/\.*' -exec grep -Il '.' {} \; | xargs -d '\n' -L 1 dos2unix -k
O que significa: localizar todos os arquivos não ocultos recursivamente no diretório atual e, em seguida, usar grep, listar todos os arquivos não-binários (-I) não-vazios e enviá-los para xargs (delimitados por novas linhas) um tempo para dos2unix e manter o timestamp original.
Veja também:
Espero que ajude.
Use um curinga. Assim: (Se você está na pasta)
dos2unix *
ou se você estiver fora da pasta, faça:
dos2unix /path/to/folder/*
Tags command-line files