Knowledge Base

¿Qué es esto?

Linux: Convertir todos los finales de línea de ficheros de dos/windows a unix recursivamente

15/12/2016 - 17/12/2018 -  Comentarios - Linux ficheros

Desde linux puede hacerse instalando la utilidad dos2unix.

Una vez instalada podríamos convertir todas las terminaciones en el directorio local, para todos los subdirectorios y todos los archivos de texto con el siguiente comando:

find ./ -type f -exec dos2unix {} \;

El comando anterior procesará todos los ficheros que el sistema entienda como ficheros de texto. Pero es posible que no nos normalice todos los que necesitamos. Me pasó por ejemplo que no modificaba los finales de línea de ficheros .po (del poedit). Es posible ejecutar un comando similar pero especificando la extensión de los ficheros para forzarle a que haga los cambios. Eso se haría con el comando:

find . -name *.po | xargs dos2unix

En ambos casos, a partir de dos2unix versión 6, ya evitará automáticamente la conversión de los binarios.

El proceso se puede hacer a la inversa con unix2dos