Existe-t-il un moyen d'appliquer la command dos2unix
pour qu'elle s'exécute sur tous les files d'un dossier et que ce soit des sous-dossiers? man dos2unix
ne montre aucune option -r
ou similaire qui rendrait cela simple?
find /path -type f -print0 | xargs -0 dos2unix --
Vous pouvez utiliser find pour find tous les files d'une structure de directorys que vous voulez exécuter via votre command dos2unix
find /path/to/the/files -type f -exec dos2unix {} \;
Jetez un coup d'oeil aux pages man pour find, il y a beaucoup d'options que vous pouvez utiliser pour spécifier ce qui est évalué
Le fait de sauter des files binarys et des files cachés était important pour moi:
Celui-ci a bien fonctionné pour moi:
find . -type f -not -path '*/\.*' -exec grep -Il '.' {} \; | xargs -d '\n' -L 1 dos2unix -k
Ce qui se traduit par: find tous les files non-cachés récursivement dans le directory courant, puis utiliser grep, listr tous les files non-binarys (-I) non-vides, puis les placer dans xargs (délimité par des newlines) un file à la fois dos2unix et garder l'horodatage d'origine.
Voir également:
https://github.com/mdolidon/endlines
J'espère que cela pourra aider.
Utilisez un caractère générique. Comme ceci: (Si vous êtes dans le dossier)
dos2unix *
ou si vous êtes en dehors du dossier faire:
dos2unix /path/to/folder/*