dos2unix(1) 2026-04-06 dos2unix(1) NOM dos2unix - Convertit les fichiers textes du format DOS/Mac vers Unix et inversement SYNOPSIS dos2unix [options] [FICHIER ] [-n FICHIER_ENTREE FICHIER_SORTIE ] unix2dos [options] [FICHIER ] [-n FICHIER_ENTREE FICHIER_SORTIE ] DESCRIPTION Le package dos2unix inclut les utilitaires "dos2unix" et "unix2dos" pour convertir des fichiers textes au format DOS ou Mac vers le format Unix et inversement. Dans les fichiers textes DOS/Windows, un saut de ligne est une combinaison de deux caracteres: un retour de chariot (CR) suivi d'un saut de ligne (LF). Dans les fichiers textes Unix, le saut de ligne est un seul caractere: le saut de ligne (LF). Les fichiers textes Mac, avant Mac OS X, utilisaient le retour chariot (CR) comme seul caractere. De nos jours, Mac OS utilise le meme style de saut de ligne que Unix (LF). Outre les sauts de lignes, dos2unix convertit aussi le codage des fichiers. Quelques codes page DOS peuvent etre convertis en Latin-1 sous Unix. L'Unicode des fichiers Windows (UTF-16) peut etre converti en Unicode Unix (UTF-8). Les fichiers binaires sont automatiquement ignores a moins que la conversion soit forcee. Les fichiers non reguliers tels que les repertoires et les FIFOs sont automatiquement ignores. Les liens symboliques et leur cible sont, par defaut, inchanges. En option, les liens symboliques peuvent etre remplaces ou, au choix, la sortie peut etre ecrite dans la cible du lien symbolique. Ecrire dans la cible d'un lien symbolique n'est pas supporte sous Windows. dos2unix a ete concu comme dos2unix sous SunOS/Solaris. Il y a une difference importante avec la version originale de SunOS/Solaris. Cette version effectue les conversions en place (ancien mode de fichier) tandis que la version originale de SunOS/Solaris ne supporte que la conversion par paire (nouveau mode de fichier). Voyez aussi les options "-o" et "-n". Une autre difference est que SunOS/Solaris utilise par defaut le mode de conversion iso tandis que cette version utilise par defaut le mode de conversion ascii. OPTIONS -- Traites toutes les options a sa suite comme etant des noms de fichiers. Utilisez cette option si vous voulez convertir des fichiers dont le nom commence par un tiret. Par exemple, pour convertir un fichier nomme << -foo >>, vous pouvez utiliser cette commande: dos2unix -- -foo Ou dans le style des nouveaux fichiers: dos2unix -n -- -foo sortie.txt --allow-chown Autoriser le changement de proprietaire dans l'ancien mode de fichier. Quand cette option est utilisee, la conversion n'est pas interrompue si l'utilisateur ou le groupe proprietaire du fichier original ne peut pas etre preserve dans l'ancien mode de fichier. La conversion continuera et le fichier converti aura le meme nouveau proprietaire que si il avait ete converti par le nouveau mode de fichier. Voyez aussi les options "-o" et "-n". Cette option est uniquement disponible si dos2unix dispose des fonctionnalites pour preserver l'utilisateur ou le groupe proprietaire des fichiers. -ascii Mode de conversion par defaut. Voyez aussi la section des MODES DE CONVERSION. -iso Convertit le jeu de caracteres du DOS vers ISO-8859-1. Voyez aussi la section des MODES DE CONVERSION. -1252 Utilise le code page 1252 de Windows (Europe de l'ouest). -437 Utilise le code page 437 du DOS (US). C'est le code page par defaut pour les conversions ISO. -850 Utilise le code page 850 du DOS (Europe de l'ouest). -860 Utilise le code page 860 du DOS (portugais). -863 Utilise le code page 863 du DOS (francais canadien). -865 Utilise le code page 865 du DOS (nordique). -7 Convertit les caracteres 8 bits vers l'espace 7 bits. -b, --keep-bom Conserve la marque d'ordre des octets (BOM). Si le fichier d'entree a une BOM, elle est ecrite dans le fichier de sortie. C'est le comportement par defaut quand les sauts de lignes sont convertis au format DOS. Consultez aussi l'option "-r". -c, --convmode MODE_CONV Change le mode de conversion. MODE_CONV prend l'une des valeurs: ascii, 7bit, iso, mac. Ascii est la valeur par defaut. -D, --display-enc ENCODAGE Choisi l'encodage des textes affiches. L'ENCODAGE peut etre: ansi, unicode, unicodebom, utf8, utf8bom. La valeur par defaut est ansi. Cette option est uniquement disponible dans dos2unix pour Windows avec support pour les noms de fichiers Unicode. Cette option n'a aucun effet sur les noms de fichiers lus et ecrits. Son effet se limite a leur affichage. Il existe plusieurs methodes pour afficher du texte dans une console Windows selon l'encodage du texte. Elles ont toutes leurs propres avantages et desavantages. ansi La methode par defaut de dos2unix est d'utiliser du texte encode en ANSI. Elle a l'avantage d'etre retro compatible. Elle fonctionne avec des polices raster ou TrueType. Dans certaines regions, vous pouvez avoir besoin d'utiliser la commande "chcp" pour remplacer le code page DOS OEM actif par le code ANSI systeme de Windows car dos2unix utilise le code page systeme de Windows. Le desavantage de ansi est que les noms de fichiers internationaux avec des caracteres en dehors du code page systeme par defaut ne sont pas affiches correctement. Vous verrez un point d'interrogation ou un mauvais symbole a leur place. Cette methode est acceptable si vous ne travaillez pas avec des noms de fichiers etrangers. unicode, unicodebom L'avantage de l'encodage unicode (le nom de Windows pour UTF-16) est que le texte est habituellement affiche correctement. Il n'est pas necessaire de changer le code page actif. Vous pouvez avoir besoin de remplacer la police de la console par une police TrueType pour afficher les caracteres internationaux correctement. Lorsqu'un caractere n'est pas inclus dans la police TrueType, il sera generalement remplace par un petit carre, parfois avec un point d'interrogation a l'interieur. Lorsque vous utilisez la console ConEmu, les textes sont affiches correctement car ConEmu selectionne automatiquement une bonne police. Le desavantage de unicode est qu'il n'est pas compatible avec ASCII. La sortie n'est pas facile a gerer quand vous la redirigez vers un autre programme. Quand la methode "unicodebom" est utilisee, le texte Unicode est precede d'une BOM (Byte Order Mark=marque d'ordre des octets). Une BOM est necessaire pour la redirection correcte ou le pipelining dans PowerShell. utf8, utf8bom L'avantage de utf8 est qu'il est compatible avec ASCII. Vous devez utiliser une police TrueType dans la console. Avec une police TrueType, le texte est affiche comme avec un encodage "unicode". Le desavantage est que, si vous utilisez la police raster par defaut, tous les caracteres non ASCII sont mal affiches. Pas uniquement les noms de fichiers unicode ! Les messages traduits deviennent inintelligibles. Sous Windows configure pour une region de l'est de l'Asie, vous pouvez observer enormement de scintillements dans la console quand des messages sont affiches. Dans une console ConEmu, l'encodage utf8 fonctionne bien. Quand la methode "utf8bom" est utilisee, le texte UTF-8 est precede d'une BOM (Byte Order Mark=marque d'ordre des octets). Une BOM est necessaire pour la redirection correcte ou le pipelining dans PowerShell. L'encodage par defaut peut etre change en assignant la valeur "unicode", "unicodebom", "utf8" ou "utf8bom" a la variable d'environnement DOS2UNIX_DISPLAY_ENC. -e, --add-eol Ajoute un saut de ligne a la derniere ligne si elle n'en a pas deja un. Cela fonctionne avec toutes les conversions. Un fichier converti de DOS vers le format Unix peut ne pas avoir de saut de ligne a la derniere ligne. Il existe des editeurs de texte qui ecrivent le fichier texte sans saut de ligne a la derniere ligne. Certains programmes Unix ont des difficultes a traiter ces fichiers car le standard POSIX defini que chaque ligne d'un fichier texte doit etre termine par le caractere de nouvelle ligne. Par exemple, concatener des fichiers peut ne pas donner le resultat attendu. --error-binary Retourner une erreur si un fichier binaire est ignore. -f, --force Force la conversion de fichiers binaires. -gb, --gb18030 Sous Windows, les fichiers UTF-16 sont convertis en UTF-8 par defaut sans consideration pour les parametres de la localisation. Utilisez cette option pour convertir UTF-16 en GB18030. Cette option n'est disponible que sous Windows. Consultez aussi la section GB18030. -h, --help Affiche l'aide et s'arrete. -i[FANIONS], --info[=FANIONS] FICHIER Affiche les informations du fichier. Aucune conversion n'est realisee. Les informations suivantes sont affichees dans cet ordre: le nombre de sauts de ligne DOS, le nombre de sauts de ligne Unix, le nombre de sauts de ligne Mac, la marque d'ordre des octets, texte ou binaire, nom du fichier. Exemple de sortie : 6 0 0 no_bom text dos.txt 0 6 0 no_bom text unix.txt 0 0 6 no_bom text mac.txt 6 6 6 no_bom text mixed.txt 50 0 0 UTF-16LE text utf16le.txt 0 50 0 no_bom text utf8unix.txt 50 0 0 UTF-8 text utf8dos.txt 2 418 219 no_bom binary dos2unix.exe Notez qu'un fichier binaire peut parfois etre considere a tord comme un fichier texte. Voyez aussi l'option "-s". Si l'option "-e" ou "--add-eol" est egalement utilisee, le type du saut de ligne de la derniere ligne est affiche ou "noeol" est affiche s'il n'y en a pas. Exemple de sortie : 6 0 0 no_bom text dos dos.txt 0 6 0 no_bom text unix unix.txt 0 0 6 no_bom text mac mac.txt 1 0 0 no_bom text noeol noeol_dos.txt Des fanions facultatifs peuvent etre ajoutes pour changer la sortie. Un ou plusieurs fanions peuvent etre ajoutes. 0 Afficher les lignes d'information du fichier suivies d'un caractere nul au lieu d'un saut de ligne. Cela permet d'interpreter correctement les noms de fichiers avec des espaces ou des guillemets quand le fanion c est utilise. Utilisez ce fanion avec les options -0 ou "--null" de xargs(1). d Affiche le nombre de sauts de ligne DOS. u Affiche le nombre de sauts de ligne Unix. m Affiche le nombre de sauts de ligne Mac. b Afficher la marque d'ordre des octets. t Affiche si le fichier est texte ou binaire. e Affiche le type du saut de ligne de la derniere ligne ou "noeol" s'il n'y en a pas. c Affiche uniquement les fichiers qui seraient convertis. Avec le fanion "c", dos2unix n'affichera que les fichiers contenant des sauts de ligne DOS alors que unix2dos n'affichera que les noms des fichiers aillant des sauts de ligne Unix. Si l'option "-e" ou "--add-eol" est egalement utilisee, les fichiers qui n'ont pas de saut de ligne a la derniere ligne seront affiches. h Afficher un en-tete. p Montrer les noms des fichiers sans le chemin. Exemples: Afficher les informations pour tous les fichier *.txt : dos2unix -i *.txt Afficher uniquement le nombre de sauts de ligne DOS et Unix : dos2unix -idu *.txt Montrer uniquement la marque d'ordre des octets : dos2unix --info=b *.txt Liste les fichiers qui ont des sauts de ligne DOS: dos2unix -ic *.txt Liste les fichiers qui ont des sauts de ligne Unix: unix2dos -ic *.txt Liste les fichiers qui ont des sauts de ligne DOS ou qui n'ont pas de saut de ligne a la derniere ligne. dos2unix -e -ic *.txt Ne converti que les fichiers qui ont des sauts de lignes DOS et laisse les autres fichiers inchanges: dos2unix -ic0 *.txt | xargs -0 dos2unix Trouve les fichiers texte qui ont des sauts de ligne DOS: find -name '*.txt' -print0 | xargs -0 dos2unix -ic -k, --keepdate La date du fichier de sortie est la meme que celle du fichier d'entree. -L, --license Affiche la licence du programme. -l, --newline Ajoute des sauts de lignes additionnels. dos2unix: Seuls les sauts de lignes du DOS sont changes en deux sauts de lignes de Unix. En mode Mac, seuls les sauts de lignes Mac sont changes en deux sauts de lignes Unix. unix2dos: Seuls les sauts de lignes Unix sont changes en deux sauts de lignes du DOS. En mode Mac, les sauts de lignes Unix sont remplaces par deux sauts de lignes Mac. -m, --add-bom Ecrit une marque d'ordre des octets (BOM) dans le fichier de sortie. Par defaut une BOM UTF-8 est ecrite. Lorsque le fichier d'entree est en UTF-16 et que l'option "-u" est utilisee, une BOM UTF-16 est ecrite. N'utilisez jamais cette option quand l'encodage du fichier de sortie n'est ni UTF-8 ni UTF-16 ni GB18030. Consultez egalement la section UNICODE. -n, --newfile FICHIER_ENTREE FICHIER_SORTIE Nouveau mode de fichiers. Convertit le fichier FICHER_ENTREE et ecrit la sortie dans le fichier FICHIER_SORTIE. Les noms des fichiers doivent etre indiques par paires. Les caracteres de remplacement ne doivent pas etre utilises ou vous perdrez vos fichiers. La personne qui demarre la conversion dans le nouveau mode (paire) des fichiers sera le proprietaire du fichier converti. Les permissions de lecture/ecriture du nouveau fichier seront les permissions du fichier original moins le umask(1) de la personne qui execute la conversion. --no-allow-chown Ne pas autoriser le changement du proprietaire du fichier dans l'ancien mode de fichier (par defaut). Interrompt la conversion si l'utilisateur ou le groupe proprietaire du fichier original ne peuvent pas etre preserves dans l'ancien mode de fichier. Voyez aussi les options "-o" et "-n". Cette option est uniquement presente si dos2unix dispose des fonctionnalites pour preserver l'utilisateur ou le groupe proprietaire des fichiers. --no-add-eol N'ajoute pas de saut de ligne a la derniere ligne s'il n'y en a pas (par defaut). --no-error-binary Ne pas retourner une erreur si un fichier binaire est ignore (par defaut). -O, --to-stdout Ecrit vers la sortie standard, comme un filtre Unix. Utilisez l'option "-o" pour revenir au mode de l'ancien fichier (en place). Combine avec l'option "-e", les fichiers peuvent etre concatenes correctement. Les premiere et derniere lignes ne sont pas fusionnees et il n'y a pas de marque d'ordre des octets au milieu du fichier concatene. Exemple : dos2unix -e -O fichier1.txt fichier2.txt > sortie.txt -o, --oldfile FICHIER Ancien mode de fichiers. Convertit le fichier FICHIER et ecrit la sortie dedans. Le programme fonctionne dans ce mode par defaut. Les noms avec des caracteres de remplacement peuvent etre utilises. Dans l'ancien mode (en place) des fichiers, les fichiers convertis ont le meme proprietaire, groupe et permissions lecture/ecriture que le fichier original. Idem quand le fichier est converti par un utilisateur qui a la permission d'ecrire dans le fichier (par exemple, root). La conversion est interrompue si il n'est pas possible de conserver les valeurs d'origine. Le changement de proprietaire pourrait signifier que le proprietaire original n'est plus en mesure de lire le fichier. Le changement de groupe pourrait etre un risque pour la securite. Le fichier pourrait etre rendu accessible en lecture par des personnes a qui il n'est pas destine. La conservation du proprietaire, du groupe et des permissions de lecture/ecriture n'est supportee que sous Unix. Pour verifier si dos2unix dispose des fonctions pour preserver l'utilisateur et le groupe proprietaire du fichier, tapez "dos2unix -V". La conversion est toujours realisee via un fichier temporaire. Quand une erreur survient au milieu de la conversion, le fichier temporaire est efface et le fichier original reste inchange. Quand la conversion reussi, le fichier original est remplace par le fichier temporaire. Vous pourriez avoir la permission d'ecrire dans le fichier original mais ne pas avoir la permission de remplacer les proprietes de l'utilisateur et du groupe proprietaires sur le fichier temporaire telles qu'elles sont definies sur le fichier original. Cela signifie que vous n'etes pas en mesure de preserver l'utilisateur ou le groupe proprietaire du fichier original. Dans ce cas, vous pouvez utiliser l'option "--allow-chown" pour continuer la conversion. dos2unix --allow-chown toto.txt Une autre option consiste a utiliser le nouveau mode de fichier: dos2unix -n toto.txt toto.txt L'avantage de l'option "--allow-chown" est que vous pouvez utiliser des caracteres de remplacement et les proprietaires seront preserves dans la mesure du possible. -q, --quiet Mode silencieux. Supprime les avertissements et les messages. La valeur de sortie est zero sauf quand de mauvaises options sont utilisees sur la ligne de commande. -r, --remove-bom Supprime la marque d'ordre des octets (BOM). N'ecrit pas la BOM dans le fichier de sortie. Ceci est le comportement par defaut lorsque les sauts de lignes sont convertis au format Unix. Consultez aussi l'option "-b". -s, --safe Ignore les fichiers binaires (par defaut). Ignorer les fichiers binaires sert a eviter les erreurs accidentelles. Attention que la detection de fichiers binaires n'est pas fiable a 100%. Les fichiers en entree sont analyses pour y trouver des symboles binaires qui ne sont habituellement pas rencontres dans des fichiers textes. Il est cependant possible qu'un fichier binaire ne contienne que des caracteres textes normaux. Un tel fichier serait erronement traite comme un fichier texte. Par defaut, aucune erreur n'est retournee quand un fichier binaire est ignore. Si l'option "--error-binary" est utilisee, une erreur est retournee. -u, --keep-utf16 Conserve l'encodage UTF-16 original du fichier d'entree. Le fichier de sortie sera ecrit dans le meme encodage UTF-16 (petit ou grand boutien) que le fichier d'entree. Ceci evite la transformation en UTF-8. Une BOM UTF-16 sera ecrite en consequent. Cette option peut etre desactivee avec l'option "-ascii". -ul, --assume-utf16le Suppose que le fichier d'entree est au format UTF-16LE. Quand il y a un indicateur d'ordre des octets dans le fichier d'entree, l'indicateur a priorite sur cette option. Si vous vous etes trompe sur le format du fichier d'entree (par exemple, ce n'etait pas un fichier UTF16-LE) et que la conversion reussi, vous obtiendrez un fichier UTF-8 contenant le mauvais texte. Vous pouvez recuperer le fichier original avec iconv(1) en convertissant le fichier de sortie UTF-8 vers du UTF-16LE. La presupposition de l'UTF-16LE fonctionne comme un mode de conversion. En utilisant le mode ascii par defaut, UTF-16LE n'est plus presuppose. -ub, --assume-utf16be Suppose que le fichier d'entree est au format UTF-16BE. Cette option fonctionne comme l'option "-ul". -v, --verbose Affiche des messages verbeux. Des informations supplementaires sont affichees a propos des marques d'ordre des octets et du nombre de sauts de lignes convertis. -F, --follow-symlink Suit les liens symboliques et convertit les cibles. -R, --replace-symlink Remplace les liens symboliques par les fichiers convertis (les fichiers cibles originaux restent inchanges). -S, --skip-symlink Ne change pas les liens symboliques ni les cibles (par defaut). -V, --version Affiche les informations de version puis arrete. MODE MAC Par defaut, les sauts de lignes sont convertis du DOS vers Unix et inversement. Les sauts de lignes Mac ne sont pas convertis. En mode Mac, les sauts de lignes sont convertis du format Mac au format Unix et inversement. Les sauts de lignes DOS ne sont pas changes. Pour fonctionner en mode Mac, utilisez l'option en ligne de commande "-c mac" ou utilisez les commandes "mac2unix" ou "unix2mac". MODES DE CONVERSION ascii Ceci est le mode de conversion par defaut. Ce mode convertit les fichiers ASCII en fichiers compatibles avec l'ASCII tel que UTF-9. Activer le mode ascii desactive les modes 7bit et iso. Si dos2unix supporte UTF-16, les fichiers encodes en UTF-16 sont convertis vers l'encodage des caracteres des parametres linguistiques courants sur les systemes POSIX et vers UTF-8 sous Windows. Activer le mode ascii desactive l'option pour garder l'encodage UTF-8 ("-u") et les options qui supposent une entree en UTF-16 ("-ul" et "-ub"). Pour voir si dos2unix supporte UTF-16, tapez "dos2unix -V". Consultez aussi la section UNICODE. 7bit Dans ce mode, tous les caracteres 8 bits non ASCII (avec des valeurs entre 128 et 255) sont remplaces par une espace 7 bits. iso Les caracteres sont convertis entre un jeu de caracteres DOS (code page) et le jeu de caracteres ISO-8859-1 (Latin-1) de Unix. Les caracteres DOS sans equivalent ISO-8859-1, pour lesquels la conversion n'est pas possible, sont remplaces par un point. La meme chose est valable pour les caracteres ISO-8859-1 sans equivalent DOS. Quand seule l'option "-iso" est utilisee, dos2unix essaie de determiner le code page actif. Quand ce n'est pas possible, dos2unix utilise le code page CP437 par defaut qui est surtout utilise aux USA. Pour forcer l'utilisation d'un code page specifique, utilisez les options -437 (US), -850 (Europe de l'ouest), -860 (portugais), -863 (francais canadien) ou -865 (nordique). Le code page CP1252 de Windows (Europe de l'ouest) est egalement supporte avec l'option -1252. Pour d'autres codes pages, utilisez dos2unix avec iconv(1). Iconv supporte une longue liste de codages de caracteres. N'utilisez jamais la conversion ISO sur des fichiers textes Unicode. Cela va corrompre les fichiers encodes en UTF-8. Quelques exemples: Convertir du code page par defaut du DOS au Latin-1 Unix: dos2unix -iso -n entree.txt sortie.txt Convertir du CP850 du DOS au Latin-1 Unix: dos2unix -850 -n entree.txt sortie.txt Convertir du CP1252 de Windows au Latin-1 de Unix: dos2unix -1252 -n entree.txt sortie.txt Convertir le CP1252 de Windows en UTF-8 de Unix (Unicode): iconv -f CP1252 -t UTF-8 entree.txt | dos2unix > sortie.txt Convertir du Latin-1 de Unix au code page par defaut de DOS: unix2dos -iso -n entree.txt sortie.txt Convertir le Latin-1 de Unix en CP850 du DOS: unix2dos -850 -n entree.txt sortie.txt Convertir le Latin-1 de Unix en CP1252 de Windows: unix2dos -1252 -n entree.txt sortie.txt Convertir le UTF-8 de Unix (Unicode) en CP1252 de Windows: unix2dos < entree.txt | iconv -f UTF-8 -t CP1252 > sortie.txt Consultez aussi et . UNICODE Codages Il existe plusieurs codages Unicode. Sous Unix et Linux, les fichiers sont generalement codes en UTF-8. Sous Windows, les fichiers textes Unicode peuvent etre codes en UTF-8, UTF-16 ou UTF-16 gros boutien mais ils sont majoritairement codes au format UTF-16. Conversion Les fichiers textes Unicode peuvent avoir des sauts de lignes DOS, Unix ou Mac, tout comme les fichiers textes ASCII. Toutes les versions de dos2unix et unix2dos peuvent convertir des fichiers codes en UTF-8 car UTF-8 a ete concu pour etre retro-compatible avec l'ASCII. dos2unix et unix2dos, avec le support pour l'Unicode UTF-16, peuvent lire les fichiers textes codes sous forme petit boutien ou gros boutien. Pour savoir si dos2unix a ete compile avec le support UTF-16 tapez "dos2unix -V". Sous Unix/Linux, les fichiers encodes en UTF-16 sont convertis vers l'encodage des caracteres de la localisation. Utilisez locale(1) pour decouvrir quel encodage de caracteres est utilise. Lorsque la conversion n'est pas possible, une erreur de conversion est produite et le fichier est abandonne. Sous Windows, les fichiers UTF-16 sont convertis par defaut en UTF-8. Les fichiers textes formates en UTF-8 sont bien supportes sous Windows et Unix/Linux. Les codages UTF-16 et UTF-8 sont parfaitement compatibles. Il n'y a pas de pertes lors de la conversion. Lorsqu'une erreur de conversion UTF-16 vers UTF-8 survient, par exemple, quand le fichier d'entree UTF-16 contient une erreur, le fichier est ignore. Quand l'option "-u" est utilisee, le fichier de sortie est ecrit dans le meme encodage UTF-16 que le fichier d'entree. L'option "-u" empeche la conversion en UTF-8. dos2unix et unix2dos n'ont pas d'option pour convertir des fichiers UTF-8 en UTF-16. Les modes de conversion ISO et 7 bits ne fonctionnent pas sur des fichiers UTF-16. Marque d'ordre des octets Les fichiers textes Unicode sous Windows on generalement un indicateur d'ordre des octets (BOM) car de nombreux programmes Windows (y compris Notepad) ajoutent cet indicateur par defaut. Consultez aussi . Sous Unix, les fichiers Unicodes n'ont habituellement pas de BOM. Il est suppose que les fichiers textes sont codes selon le codage de l'environnement linguistique. dos2unix ne peut detecter que le fichier est au format UTF-16 si le fichier n'a pas de BOM. Quand le fichier UTF-16 n'a pas cet indicateur, dos2unix voit le fichier comme un fichier binaire. Utilisez l'option "-ul" ou "-ub" pour convertir un fichier UTF-16 sans BOM. dos2unix, par defaut, n'ecrit pas de BOM dans le fichier de sortie. Avec l'option "-b", dos2unix ecrit une BOM quand le fichier d'entree a une BOM. unix2dos ecrit par defaut une BOM dans le fichier de sortie quand le fichier d'entree a une BOM. Utilisez l'option "-r" pour supprimer la BOM. dos2unix et unix2dos ecrivent toujours une BOM quand l'option "-m" est utilisee. Noms de fichiers unicode sous Windows dos2unix supporte, en option, la lecture et l'ecriture de noms de fichiers Unicode dans la ligne de commande de Windows. Cela signifie que dos2unix peut ouvrir des fichiers qui ont, dans leur nom, des caracteres n'appartenant pas au code page systeme ANSI par defaut. Pour voir si dos2unix pour Windows a ete compile avec le support des noms de fichiers Unicode, tapez "dos2unix -V". Il y a quelques soucis avec l'affichage de noms de fichiers Unicode dans une console Windows. Voyez l'option "-D", "--display-enc". Les noms de fichiers peuvent etre mal affiches dans la console mais les fichiers seront ecrits avec les bons noms. Exemples Unicode Convertir de l'UTF-16 Windows (avec BOM) vers l'UTF-8 de Unix: dos2unix -n entree.txt sortie.txt Convertir de l'UTF-16LE de Windows (sans BOM) vers l'UTF-8 de Unix: dos2unix -ul -n entree.txt sortie.txt Convertir de l'UTF-8 de Unix vers l'UTF-8 de Windows avec BOM: unix2dos -m -n entree.txt sortie.txt Convertir de l'UTF-8 de Unix vers l'UTF-16 de Windows: unix2dos < entree.txt | iconv -f UTF-8 -t UTF-16 > sortie.txt GB18030 GB18030 est un standard du gouvernement chinois. Tout logiciel vendu en Chine doit officiellement supporter un sous ensemble obligatoire du standard GB18030. Consultez . GB18030 est entierement compatible avec Unicode et peut etre considere comme etant un format de transformation unicode. Comme UTF-8, GB18030 est compatible avec ASCII. GB18030 est aussi compatible avec le code page 936 de Windows aussi connu comme GBK. Sous Unix/Linux, les fichiers UTF-16 sont convertis en GB18030 quand l'encodage de l'environnement linguistique est GB18030. Notez que cela ne fonctionnera que si l'environnement linguistique est supporte par le systeme. Utilisez la commande "locale -a" pour obtenir la liste des environnements linguistiques supportes. Sous Windows, vous avez besoin de l'option "-gb" pour convertir UTF-16 en GB18030. Les fichiers encodes en GB18030 peuvent avoir une marque d'ordre des octets, comme les fichiers Unicode. EXEMPLES Lire l'entree depuis << stdin >> et ecrire la sortie vers << stdout >>: dos2unix < a.txt cat a.txt | dos2unix Convertir et remplacer a.txt. Convertir et remplace b.txt: dos2unix a.txt b.txt dos2unix -o a.txt b.txt Convertir et remplacer a.txt en mode de conversion ascii: dos2unix a.txt Convertir et remplacer a.txt en mode de conversion ascii. Convertir et remplacer b.txt en mode de conversion 7 bits: dos2unix a.txt -c 7bit b.txt dos2unix -c ascii a.txt -c 7bit b.txt dos2unix -ascii a.txt -7 b.txt Convertir a.txt depuis le format Mac vers le format Unix: dos2unix -c mac a.txt mac2unix a.txt Convertir a.txt du format Unix au format Mac: unix2dos -c mac a.txt unix2mac a.txt Convertir et remplacer a.txt tout en conservant la date originale: dos2unix -k a.txt dos2unix -k -o a.txt Convertir a.txt et ecrire dans e.txt: dos2unix -n a.txt e.txt Convertir a.txt et ecrire dans e.txt. La date de e.txt est la meme que celle de a.txt: dos2unix -k -n a.txt e.txt Convertir et remplacer a.txt. Convertir b.txt et ecrire dans e.txt: dos2unix a.txt -n b.txt e.txt dos2unix -o a.txt -n b.txt e.txt Convertir c.txt et ecrire dans e.txt. Convertir et remplacer a.txt. Convertir et remplacer b.txt. Convertir d.txt et ecrire dans f.txt: dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt CONVERSIONS RECURSIVES Dans un shell Unix, les commandes find(1) et xargs(1) peuvent etre utilisees pour executer dos2unix recursivement sur tous les fichiers textes dans une arborescence de repertoires. Par exemple, pour convertir tous les fichiers .txt dans les repertoires sous le repertoire courant, tapez: find . -name '*.txt' -print0 |xargs -0 dos2unix L'option "-print0" de find(1) et l'option correspondante -0 de xargs(1) sont necessaires quand il y a des fichiers avec des espaces ou des guillemets dans leur nom. Sinon, ces options peuvent etre omises. Une autre possibilite est d'utiliser find(1) avec l'option "-exec": find . -name '*.txt' -exec dos2unix {} \; En ligne de commande sous Windows, la commande suivante peut etre utilisee: for /R %G in (*.txt) do dos2unix "%G" find /R %G in Les utilisateurs de PowerShell peuvent utiliser la commande suivante dans le PowerShell de Windows: get-childitem -path . -filter '*.txt' -recurse | foreach-object {dos2unix $_.Fullname} PARAMETRES LINGUISTIQUES LANG La langue principale est selectionnee par la variable d'environnement LANG. La variable LANG est composee de plusieurs parties. La premiere partie est le code de la langue en minuscules. La deuxieme partie est le code du pays en majuscules precede d'un souligne. Elle est facultative. Il y a aussi une troisieme partie facultative qui est le codage des caracteres precede par un point. Voici quelques exemples pour un shell au standard POSIX: export LANG=fr Francais export LANG=fr_CA Francais, Canada export LANG=fr_BE Francais, Belgique export LANG=es_ES Espagnol, Espagne export LANG=es_MX Espagnol, Mexique export LANG=en_US.iso88591 Anglais, USA, codage Latin-1 export LANG=en_GB.UTF-8 Anglais, UK, codage UTF-8 La liste complete des codes de langues et de pays est dans le manuel de gettext: Sur les systemes Unix, vous pouvez utiliser la commande locale(1) pour obtenir des informations sur l'environnement linguistique. LANGUE Avec la variable d'environnement LANGUAGE, vous pouvez specifier une liste de langues prioritaires separees par des deux-points. dos2unix fait passer LANGUAGE avant LANG. Par exemple, pour utiliser le francais avant l'anglais: "LANGUAGE=fr:en". Vous devez d'abord activer l'environnement linguistique en assignant une valeur autre que << C >> a LANG (ou LC_ALL). Ensuite, vous pourrez utiliser la liste de priorite avec la variable LANGUAGE. Voyez egalement le manuel de gettext: Si vous selectionnez une langue qui n'est pas disponible, vous obtiendrez des messages en anglais standard. DOS2UNIX_LOCALEDIR Grace a la variable d'environnement DOS2UNIX_LOCALEDIR, la variable LOCALEDIR compilee dans l'application peut etre remplacee. LOCALEDIR est utilisee pour trouver les fichiers de langue. La valeur par defaut de GNU est "/usr/local/share/locale". L'option --version affiche la valeur de LOCALEDIR utilisee. Exemple (shell POSIX): export DOS2UNIX_LOCALEDIR=$HOME/share/locale VALEUR DE RETOUR Zero est retourne en cas de succes. Si une erreur systeme se produit, la derniere erreur systeme est retournee. Pour les autres erreurs, 1 est renvoye. La valeur de sortie est toujours zero en mode silencieux sauf quand de mauvaises options sont utilisees sur la ligne de commande. STANDARDS AUTEURS Benjamin Lin - , Bernd Johannes Wuebben (mode mac2unix) - , Christian Wurll (ajout de saut de ligne supplementaire) - , Erwin Waterlander - (Mainteneur) Page du projet: Page SourceForge: VOIR AUSSI file(1) find(1) iconv(1) locale(1) xargs(1) dos2unix 2026-04-07 dos2unix(1)