Bonjour,
C'est une proposition d'ajout à la FAQ:
Note 1: cela n'est a priori pas nécessaire si vous copiez/collez un code écrit sous Windows dans un éditeur Linux. La conversion se fait à la volée par l'éditeur dans le cas de gedit par exemple. Par contre, il faut convertir les formats pour des fichiers transférés par copie de fichiers.Windows et Unix ont des caractères de fin de ligne différents. En cas d'import de fichiers texte (y compris des scripts bash par exemple), il faut les convertir au format Unix sans quoi l'interprêteur (/bin/sh ou /bin/bash par exemple) ne pourra pas les exécuter :
Le fichier au format Windows non converti au format Unix fera apparaitre des caractères ^M (ASCII=\x0D$)si vous l'ouvrez dans un éditeur (vi, vim, nano, gedit, ..). Il faut donc convertir les fichiers vers le format UNIX de la manière suivante :
Vérification que les caractères de fin de ligne ont bien été converti :
Code : Sélectionner tout - Visualiser dans une fenêtre à part find /chemin/vers/mon/repertoire/de/fichiersWindoz/ -type f -exec sed -i -e "s/\r$//" {} \;
ou plus simple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part cat -Ev <mon_fichier_converti_au_format_UNIX>
Code : Sélectionner tout - Visualiser dans une fenêtre à part cat -e <mon_fichier_converti_au_format_UNIX>
EDIT:
Note2: Il existe aussi le paquet dos2unix sur les principales distributions, mais ça impose d'ajouter un paquet supplémentaire, pas forcément utile sur une machine vouée à la production par exemple.
Partager