Lorsque vous partagez un fichier texte, choisissez les fins de ligne en fonction du programme qui va le lire, et pas seulement de l'ordinateur qui va l'afficher. Pour la plupart des fichiers circulant entre macOS, Linux et les outils de développement modernes, utilisez LF. Choisissez CRLF lorsqu'un outil spécifique à Windows ou un projet existant l'exige. Sur un Mac, vous pouvez convertir un fichier texte connu dans Terminal à l'aide de commandes intégrées et enregistrer le résultat sous la forme d'un fichier distinct.
Ce que signifient LF et CRLF
Une fin de ligne est le caractère ou la séquence de caractères qui marque la fin d'une ligne. Les outils en ligne de commande de macOS utilisent LF, un simple caractère de saut de ligne (line feed). Les fichiers texte Windows utilisent couramment CRLF, un retour chariot (carriage return) suivi d'un saut de ligne. Les fichiers de l'ancien Mac classique peuvent utiliser CR seul, un format distinct et moins courant. Apple décrit ces conventions et souligne que les fichiers CRLF peuvent provoquer des comportements inattendus dans les outils en ligne de commande Unix, car le retour chariot supplémentaire subsiste à la fin de chaque ligne. Guide Apple sur la création de scripts multiplateformes
En règle générale, privilégiez LF pour les scripts et les fichiers texte brut destinés à être utilisés sur macOS, Linux ou dans le cadre d'un projet de code multiplateforme, à moins que le projet ne stipule le contraire. Utilisez CRLF lorsqu'une application destinataire ou un projet l'exige explicitement. En cas de doute, demandez au destinataire ou consultez les instructions du projet ; l'extension de fichier ne permet pas à elle seule de déterminer la fin de ligne attendue.
Choisir le format avant la conversion
Identifiez d'abord l'utilisation future du fichier. Un fichier texte qui s'ouvre et se comporte correctement dans l'application cible peut ne pas avoir besoin de conversion. Un fichier qui semble normal mais qui échoue lors de l'exécution d'un script shell ou d'une étape de traitement de données peut contenir des CRLF, laissant des retours chariot invisibles qui perturbent la correspondance de lignes ou l'analyse des champs. Apple note que ces problèmes peuvent survenir même lorsque le contenu s'affiche correctement à l'écran. Explications d'Apple sur le comportement des fins de ligne
TextEdit permet de créer et de modifier des documents en texte brut, mais le guide actuel d'Apple ne mentionne aucune option permettant de choisir entre LF et CRLF lors de l'enregistrement. Ses commandes de saut de ligne mettent en forme le contenu du document ; elles ne sont pas présentées comme un sélecteur de fin de ligne pour le fichier. Si vous devez définir un format spécifique, utilisez un éditeur de texte doté d'une option de fin de ligne documentée ou convertissez un fichier texte brut connu dans Terminal. Guide d’utilisation de TextEdit, Commandes de saut dans TextEdit
Convertir un fichier texte connu dans Terminal
Conservez l'original intact : enregistrez la conversion sous un nom de fichier différent, puis ouvrez ou inspectez le nouveau fichier avant de le partager. Dans Terminal, remplacez input.txt et output.txt par les chemins réels. Pour un fichier utilisant les CRLF de Windows qu'un outil Mac ou Unix doit lire en LF, exécutez :
tr -d '\r' < input.txt > output.txt
Cette opération supprime les retours chariot, ne laissant que les fins de ligne LF. Pour un fichier utilisant LF que le destinataire requiert au format CRLF de Windows, exécutez :
CR="$(printf '\r')"
sed "s/$/$CR/" < input.txt > output.txt
Cette opération ajoute un retour chariot devant chaque saut de ligne. Apple documente ces conversions à l'aide de tr et sed. Exemples de conversion d'Apple
N'utilisez ces commandes que si vous connaissez le format source et qu'il s'agit d'un fichier texte brut. La conversion en LF supprime tous les caractères CR, et pas seulement ceux associés à un LF ; la conversion inverse suppose que le fichier d'entrée utilise LF. Pour un fichier mixte, un ancien fichier n'utilisant que des CR ou un fichier contenant des retours chariot intentionnels dans son contenu, ces commandes simples risquent de modifier d'autres éléments que les seules fins de ligne visées. Évitez de les exécuter sur des fichiers binaires. Si le format du fichier est incertain ou si la préservation de l'encodage et des métadonnées est importante, utilisez un éditeur ou un outil de conversion adapté et consultez préalablement sa documentation.
Vérifier le résultat et envoyer le bon fichier
Ouvrez le fichier de sortie dans l'application prévue et vérifiez que les lignes s'affichent séparément et que le fichier contient toujours le texte attendu. Conservez l'original jusqu'à ce que le destinataire confirme que la copie convertie fonctionne. Envoyez la version convertie, et non l'original, et précisez le format de fin de ligne attendu lors de la transmission si cela a de l'importance — par exemple : « enregistré avec des fins de ligne LF ».
Le choix le plus sûr est celui spécifié par l'outil ou le projet de destination. Sans exigence particulière, LF est le choix naturel sur Mac ; ne convertissez en CRLF que si la destination l'impose.
Sources
Designing Scripts for Cross-Platform Deployment — Apple Developer
Guide d’utilisation de TextEdit — Assistance Apple
Insérer des sauts de ligne, de paragraphe et de page dans TextEdit sur Mac — Assistance Apple