Man page - dos2unix(1)
Packages contains this manual
Available languages:
en fr pt_BR es pl ko nl sv uk ro sr zh_CN deManual
dos2unix
NOMSYNOPSIS
DESCRIPTION
OPTIONS
MODE MAC
MODES DE CONVERSION
UNICODE
Codages
Conversion
Marque dâordre des octets
Noms de fichiers unicode sous Windows
Exemples Unicode
GB18030
EXEMPLES
CONVERSIONS RĂCURSIVES
PARAMĂTRES LINGUISTIQUES
VALEUR DE RETOUR
STANDARDS
AUTEURS
VOIR AUSSI
NOM
dos2unix - Convertit les fichiers textes du format DOS/Mac vers Unix et inversement
SYNOPSIS
dos2unix
[options] [FICHIER âŠ] [-n FICHIER_ENTRĂE
FICHIER_SORTIE âŠ]
unix2dos [options] [FICHIER âŠ] [-n
FICHIER_ENTRĂE 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 caractĂšres: un retour de chariot ( CR ) suivi dâun saut de ligne ( LF ). Dans les fichiers textes Unix, le saut de ligne est un seul caractĂšre: le saut de ligne ( LF ). Les fichiers textes Mac, avant Mac OS X, utilisaient le retour chariot ( CR ) comme seul caractĂšre. De nos jours, Mac OS utilise le mĂȘme 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 ĂȘtre convertis en Latin-1 sous Unix. LâUnicode des fichiers Windows ( UTF-16 ) peut ĂȘtre converti en Unicode Unix ( UTF-8 ).
Les fichiers binaires sont automatiquement ignorés à moins que la conversion soit forcée.
Les fichiers non réguliers tels que les répertoires et les FIFOs sont automatiquement ignorés.
Les liens symboliques et leur cible sont, par dĂ©faut, inchangĂ©s. En option, les liens symboliques peuvent ĂȘtre remplacĂ©s ou, au choix, la sortie peut ĂȘtre Ă©crite dans la cible du lien symbolique. Ăcrire dans la cible dâun lien symbolique nâest pas supportĂ© sous Windows.
Dos2unix a été conçu comme dos2unix sous SunOS/Solaris. Il y a une différence 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 différence est que SunOS/Solaris utilise par défaut le mode de conversion iso tandis que cette version utilise par défaut le mode de conversion ascii .
OPTIONS
|
-- |
Traites toutes les options à sa suite comme étant 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 nommé « -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 propriĂ©taire dans lâancien mode de fichier.
Quand cette option est utilisĂ©e, la conversion nâest pas interrompue si lâutilisateur ou le groupe propriĂ©taire du fichier original ne peut pas ĂȘtre prĂ©servĂ© dans lâancien mode de fichier. La conversion continuera et le fichier converti aura le mĂȘme nouveau propriĂ©taire que si il avait Ă©tĂ© converti par le nouveau mode de fichier. Voyez aussi les options "-o" et "-n". Cette option est uniquement disponible si dos2unix dispose des fonctionnalitĂ©s pour prĂ©server lâutilisateur ou le groupe propriĂ©taire des fichiers.
-ascii
Mode de conversion par défaut. Voyez aussi la section des MODES DE CONVERSION.
-iso
Convertit le jeu de caractĂšres 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 dĂ©faut 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 (français canadien).
-865
Utilise le code page 865 du DOS (nordique).
|
-7 |
Convertit les caractĂšres 8 bits vers lâespace 7 bits. |
-b, --keep-bom
Conserve la marque dâordre des octets ( BOM ). Si le fichier dâentrĂ©e a une BOM, elle est Ă©crite dans le fichier de sortie. Câest le comportement par dĂ©faut 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 dĂ©faut.
-D, --display-enc ENCODAGE
Choisi lâencodage des textes affichĂ©s. Lâ ENCODAGE peut ĂȘtreâŻ: ansi , unicode , unicodebom , utf8 , utf8bom . La valeur par dĂ©faut 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 Ă©crits. Son effet se limite Ă leur affichage.
Il existe
plusieurs méthodes pour afficher du texte dans une
console Windows selon lâencodage du texte. Elles ont
toutes leurs propres avantages et désavantages.
ansi
La mĂ©thode par dĂ©faut de dos2unix est dâutiliser du texte encodĂ© en ANSI. Elle a lâavantage dâĂȘtre rĂ©tro compatible. Elle fonctionne avec des polices raster ou TrueType. Dans certaines rĂ©gions, vous pouvez avoir besoin dâutiliser la commande "chcp" pour remplacer le code page DOS OEM actif par le code ANSI systĂšme de Windows car dos2unix utilise le code page systĂšme de Windows.
Le dĂ©savantage de ansi est que les noms de fichiers internationaux avec des caractĂšres en dehors du code page systĂšme par dĂ©faut ne sont pas affichĂ©s correctement. Vous verrez un point dâinterrogation ou un mauvais symbole Ă leur place. Cette mĂ©thode est acceptable si vous ne travaillez pas avec des noms de fichiers Ă©trangers.
unicode, unicodebom
Lâavantage de lâencodage unicode (le nom de Windows pour UTF-16 ) est que le texte est habituellement affichĂ© correctement. Il nâest pas nĂ©cessaire de changer le code page actif. Vous pouvez avoir besoin de remplacer la police de la console par une police TrueType pour afficher les caractĂšres internationaux correctement. Lorsquâun caractĂšre nâest pas inclus dans la police TrueType, il sera gĂ©nĂ©ralement remplacĂ© par un petit carrĂ©, parfois avec un point dâinterrogation Ă lâintĂ©rieur.
Lorsque vous utilisez la console ConEmu, les textes sont affichés correctement car ConEmu sélectionne automatiquement une bonne police.
Le dĂ©savantage de unicode est quâil nâest pas compatible avec ASCII. La sortie nâest pas facile Ă gĂ©rer quand vous la redirigez vers un autre programme.
Quand la mĂ©thode "unicodebom" est utilisĂ©e, le texte Unicode est prĂ©cĂ©dĂ© dâune BOM (Byte Order Mark=marque dâordre des octets). Une BOM est nĂ©cessaire 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 affichĂ© comme avec un encodage "unicode".
Le dĂ©savantage est que, si vous utilisez la police raster par dĂ©faut, tous les caractĂšres non ASCII sont mal affichĂ©s. Pas uniquement les noms de fichiers unicode ! Les messages traduits deviennent inintelligibles. Sous Windows configurĂ© pour une rĂ©gion de lâest de lâAsie, vous pouvez observer Ă©normĂ©ment de scintillements dans la console quand des messages sont affichĂ©s.
Dans une console ConEmu, lâencodage utf8 fonctionne bien.
Quand la mĂ©thode "utf8bom" est utilisĂ©e, le texte UTF-8 est prĂ©cĂ©dĂ© dâune BOM (Byte Order Mark=marque dâordre des octets). Une BOM est nĂ©cessaire pour la redirection correcte ou le pipelining dans PowerShell.
Lâencodage par dĂ©faut peut ĂȘtre changĂ© en assignant la valeur "unicode", "unicodebom", "utf8" ou "utf8bom" Ă la variable dâenvironnement DOS2UNIX_DISPLAY_ENC.
-e, --add-eol
Ajoute un saut de ligne Ă la derniĂšre ligne si elle nâen a pas dĂ©jĂ un. Cela fonctionne avec toutes les conversions.
Un fichier converti de DOS vers le format Unix peut ne pas avoir de saut de ligne Ă la derniĂšre ligne. Il existe des Ă©diteurs de texte qui Ă©crivent le fichier texte sans saut de ligne Ă la derniĂšre ligne. Certains programmes Unix ont des difficultĂ©s Ă traiter ces fichiers car le standard POSIX dĂ©fini que chaque ligne dâun fichier texte doit ĂȘtre terminĂ© par le caractĂšre de nouvelle ligne. Par exemple, concatĂ©ner des fichiers peut ne pas donner le rĂ©sultat attendu.
-f, --force
Force la conversion de fichiers binaires.
-gb, --gb18030
Sous Windows, les fichiers UTF-16 sont convertis en UTF-8 par dĂ©faut sans considĂ©ration pour les paramĂštres 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âarrĂȘte.
-i[ FANIONS ], --info[=FANIONS] FICHIER âŠ
Affiche les informations du fichier. Aucune conversion nâest rĂ©alisĂ©e.
Les informations suivantes sont affichĂ©es 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 ĂȘtre considĂ©rĂ© Ă tord comme un fichier texte. Voyez aussi lâoption "-s".
Si lâoption "-e" ou "--add-eol" est Ă©galement utilisĂ©e, le type du saut de ligne de la derniĂšre ligne est affichĂ© ou "noeol" est affichĂ© 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 ĂȘtre ajoutĂ©s pour changer la sortie. Un ou plusieurs fanions peuvent ĂȘtre ajoutĂ©s.
|
0 |
Afficher les lignes dâinformation du fichier suivies dâun caractĂšre nul au lieu dâun saut de ligne. Cela permet dâinterprĂ©ter correctement les noms de fichiers avec des espaces ou des guillemets quand le fanion c est utilisĂ©. 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 derniĂšre 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 Ă©galement utilisĂ©e, les fichiers qui nâont pas de saut de ligne Ă la derniĂšre ligne seront affichĂ©s.
|
h |
Afficher un en-tĂȘte. |
|||
|
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 Ă la derniĂšre ligne.
dos2unix -e -ic *.txt
Ne converti que les fichiers qui ont des sauts de lignes DOS et laisse les autres fichiers inchangés:
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 mĂȘme que celle du fichier dâentrĂ©e.
-L, --license
Affiche la licence du programme.
-l, --newline
Ajoute des sauts de lignes additionnels.
dos2unix : Seuls les sauts de lignes du DOS sont changés en deux sauts de lignes de Unix. En mode Mac, seuls les sauts de lignes Mac sont changés en deux sauts de lignes Unix.
unix2dos : Seuls les sauts de lignes Unix sont changés en deux sauts de lignes du DOS. En mode Mac, les sauts de lignes Unix sont remplacés par deux sauts de lignes Mac.
-m, --add-bom
Ăcrit une marque dâordre des octets ( BOM ) dans le fichier de sortie. Par dĂ©faut une BOM UTF-8 est Ă©crite.
Lorsque le fichier dâentrĂ©e est en UTF-16 et que lâoption "-u" est utilisĂ©e, une BOM UTF-16 est Ă©crite.
Nâutilisez jamais cette option quand lâencodage du fichier de sortie nâest ni UTF-8 ni UTF-16 ni GB18030. Consultez Ă©galement la section UNICODE.
-n, --newfile FICHIER_ENTRĂE FICHIER_SORTIE âŠ
Nouveau mode de fichiers. Convertit le fichier FICHER_ENTRĂE et Ă©crit la sortie dans le fichier FICHIER_SORTIE. Les noms des fichiers doivent ĂȘtre indiquĂ©s par paires. Les caractĂšres de remplacement ne doivent pas ĂȘtre utilisĂ©s ou vous perdrez vos fichiers.
La personne qui démarre la conversion dans le nouveau mode (pairé) des fichiers sera le propriétaire du fichier converti. Les permissions de lecture/écriture du nouveau fichier seront les permissions du fichier original moins le umask (1) de la personne qui exécute la conversion.
--no-allow-chown
Ne pas autoriser le changement du propriĂ©taire du fichier dans lâancien mode de fichier (par dĂ©faut).
Interrompt la conversion si lâutilisateur ou le groupe propriĂ©taire du fichier original ne peuvent pas ĂȘtre prĂ©servĂ©s dans lâancien mode de fichier. Voyez aussi les options "-o" et "-n". Cette option est uniquement prĂ©sente si dos2unix dispose des fonctionnalitĂ©s pour prĂ©server lâutilisateur ou le groupe propriĂ©taire des fichiers.
--no-add-eol
Nâajoute pas de saut de ligne Ă la derniĂšre ligne sâil nây en a pas.
-O, --to-stdout
Ăcrit vers la sortie standard, comme un filtre Unix. Utilisez lâoption "-o" pour revenir au mode de lâancien fichier (en place).
CombinĂ© avec lâoption "-e", les fichiers peuvent ĂȘtre concatĂ©nĂ©s correctement. Les premiĂšre et derniĂšre lignes ne sont pas fusionnĂ©es et il nây a pas de marque dâordre des octets au milieu du fichier concatĂ©nĂ©. Exemple :
dos2unix -e -O fichier1.txt fichier2.txt > sortie.txt
-o, --oldfile FICHIER âŠ
Ancien mode de fichiers. Convertit le fichier FICHIER et Ă©crit la sortie dedans. Le programme fonctionne dans ce mode par dĂ©faut. Les noms avec des caractĂšres de remplacement peuvent ĂȘtre utilisĂ©s.
Dans lâancien mode (en place) des fichiers, les fichiers convertis ont le mĂȘme propriĂ©taire, groupe et permissions lecture/Ă©criture que le fichier original. Idem quand le fichier est converti par un utilisateur qui a la permission dâĂ©crire 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 propriĂ©taire pourrait signifier que le propriĂ©taire original nâest plus en mesure de lire le fichier. Le changement de groupe pourrait ĂȘtre un risque pour la sĂ©curitĂ©. Le fichier pourrait ĂȘtre rendu accessible en lecture par des personnes Ă qui il nâest pas destinĂ©. La conservation du propriĂ©taire, du groupe et des permissions de lecture/Ă©criture nâest supportĂ©e que sous Unix.
Pour vĂ©rifier si dos2unix dispose des fonctions pour prĂ©server lâutilisateur et le groupe propriĂ©taire du fichier, tapez "dos2unix -V".
La conversion est toujours rĂ©alisĂ©e via un fichier temporaire. Quand une erreur survient au milieu de la conversion, le fichier temporaire est effacĂ© et le fichier original reste inchangĂ©. Quand la conversion rĂ©ussi, le fichier original est remplacĂ© par le fichier temporaire. Vous pourriez avoir la permission dâĂ©crire dans le fichier original mais ne pas avoir la permission de remplacer les propriĂ©tĂ©s de lâutilisateur et du groupe propriĂ©taires sur le fichier temporaire telles quâelles sont dĂ©finies sur le fichier original. Cela signifie que vous nâĂȘtes pas en mesure de prĂ©server lâutilisateur ou le groupe propriĂ©taire 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 Ă 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 caractĂšres de remplacement et les propriĂ©taires seront prĂ©servĂ©s dans la mesure du possible.
-q, --quiet
Mode silencieux. Supprime les avertissements et les messages. La valeur de sortie est zéro sauf quand de mauvaises options sont utilisées sur la ligne de commande.
-r, --remove-bom
Supprime la marque dâordre des octets ( BOM ). NâĂ©crit pas la BOM dans le fichier de sortie. Ceci est le comportement par dĂ©faut lorsque les sauts de lignes sont convertis au format Unix. Consultez aussi lâoption "-b".
-s, --safe
Ignore les fichiers binaires (par défaut).
Ignorer les fichiers binaires sert Ă Ă©viter les erreurs accidentelles. Attention que la dĂ©tection de fichiers binaires nâest pas fiable Ă 100%. Les fichiers en entrĂ©e sont analysĂ©s pour y trouver des symboles binaires qui ne sont habituellement pas rencontrĂ©s dans des fichiers textes. Il est cependant possible quâun fichier binaire ne contienne que des caractĂšres textes normaux. Un tel fichier serait erronĂ©ment traitĂ© comme un fichier texte.
-u, --keep-utf16
Conserve lâencodage UTF-16 original du fichier dâentrĂ©e. Le fichier de sortie sera Ă©crit dans le mĂȘme encodage UTF-16 (petit ou grand boutien) que le fichier dâentrĂ©e. Ceci Ă©vite la transformation en UTF-8. Une BOM UTF-16 sera Ă©crite en consĂ©quent. Cette option peut ĂȘtre dĂ©sactivĂ©e avec lâoption "-ascii".
-ul, --assume-utf16le
Suppose que le fichier dâentrĂ©e est au format UTF-16LE.
Quand il y a un indicateur dâordre des octets dans le fichier dâentrĂ©e, lâindicateur a prioritĂ© sur cette option.
Si vous vous ĂȘtes trompĂ© sur le format du fichier dâentrĂ©e (par exemple, ce nâĂ©tait pas un fichier UTF16-LE ) et que la conversion rĂ©ussi, vous obtiendrez un fichier UTF-8 contenant le mauvais texte. Vous pouvez rĂ©cupĂ©rer le fichier original avec iconv (1) en convertissant le fichier de sortie UTF-8 vers du UTF-16LE.
La prĂ©supposition de lâ UTF-16LE fonctionne comme un mode de conversion . En utilisant le mode ascii par dĂ©faut, UTF-16LE nâest plus prĂ©supposĂ©.
-ub, --assume-utf16be
Suppose que le fichier dâentrĂ©e est au format UTF-16BE.
Cette option fonctionne comme lâoption "-ul".
-v, --verbose
Affiche des messages verbeux. Des informations supplĂ©mentaires sont affichĂ©es Ă 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 inchangés).
-S, --skip-symlink
Ne change pas les liens symboliques ni les cibles (par défaut).
-V, --version
Affiche les informations de version puis arrĂȘte.
MODE MAC
Par défaut, 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 changés.
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 dĂ©faut. Ce mode convertit les fichiers ASCII en fichiers compatibles avec lâ ASCII tel que UTF-9. Activer le mode ascii dĂ©sactive les modes 7bit et iso .
Si dos2unix supporte UTF-16, les fichiers encodĂ©s en UTF-16 sont convertis vers lâencodage des caractĂšres des paramĂštres linguistiques courants sur les systĂšmes POSIX et vers UTF-8 sous Windows. Activer le mode ascii dĂ©sactive lâoption pour garder lâencodage UTF-8 ("-u") et les options qui supposent une entrĂ©e 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 caractÚres 8 bits non ASCII (avec des valeurs entre 128 et 255) sont remplacés par une espace 7 bits.
|
iso |
Les caractĂšres sont convertis entre un jeu de caractĂšres DOS (code page) et le jeu de caractĂšres ISO-8859-1 (Latin-1) de Unix. Les caractĂšres DOS sans Ă©quivalent ISO-8859-1, pour lesquels la conversion nâest pas possible, sont remplacĂ©s par un point. La mĂȘme chose est valable pour les caractĂšres ISO-8859-1 sans Ă©quivalent DOS. |
Quand seule lâoption "-iso" est utilisĂ©e, dos2unix essaie de dĂ©terminer le code page actif. Quand ce nâest pas possible, dos2unix utilise le code page CP437 par dĂ©faut qui est surtout utilisĂ© aux USA. Pour forcer lâutilisation dâun code page spĂ©cifique, utilisez les options "-437" ( US ), "-850" (Europe de lâouest), "-860" (portugais), "-863" (français canadien) ou "-865" (nordique). Le code page CP1252 de Windows (Europe de lâouest) est Ă©galement supportĂ© avec lâoption "-1252". Pour dâautres codes pages, utilisez dos2unix avec iconv (1). Iconv supporte une longue liste de codages de caractĂšres.
Nâutilisez jamais la conversion ISO sur des fichiers textes Unicode. Cela va corrompre les fichiers encodĂ©s en UTF-8.
Quelques exemples:
Convertir du code page par dĂ©faut du DOS au Latin-1 UnixâŻ:
dos2unix -iso -n entrée.txt sortie.txt
Convertir du CP850 du DOS au Latin-1 UnixâŻ:
dos2unix -850 -n entrée.txt sortie.txt
Convertir du CP1252 de Windows au Latin-1 de UnixâŻ:
dos2unix -1252 -n entrée.txt sortie.txt
Convertir le CP1252 de Windows en UTF-8 de Unix (Unicode)âŻ:
iconv -f CP1252 -t UTF-8 entrée.txt | dos2unix > sortie.txt
Convertir du Latin-1 de Unix au code page par dĂ©faut de DOSâŻ:
unix2dos -iso -n entrée.txt sortie.txt
Convertir le Latin-1 de Unix en CP850 du DOSâŻ:
unix2dos -850 -n entrée.txt sortie.txt
Convertir le Latin-1 de Unix en CP1252 de WindowsâŻ:
unix2dos -1252 -n entrée.txt sortie.txt
Convertir le UTF-8 de Unix (Unicode) en CP1252 de WindowsâŻ:
unix2dos < entrée.txt | iconv -f UTF-8 -t CP1252 > sortie.txt
Consultez aussi <http://czyborra.com/charsets/codepages.html> et <http://czyborra.com/charsets/iso8859.html>.
UNICODE
Codages
Il existe plusieurs codages Unicode. Sous Unix et Linux, les fichiers sont gĂ©nĂ©ralement codĂ©s en UTF-8. Sous Windows, les fichiers textes Unicode peuvent ĂȘtre codĂ©s en UTF-8, UTF-16 ou UTF-16 gros boutien mais ils sont majoritairement codĂ©s 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 codĂ©s en UTF-8 car UTF-8 a Ă©tĂ© conçu pour ĂȘtre rĂ©tro-compatible avec lâ ASCII.
Dos2unix et unix2dos, avec le support pour lâUnicode UTF-16, peuvent lire les fichiers textes codĂ©s sous forme petit boutien ou gros boutien. Pour savoir si dos2unix a Ă©tĂ© compilĂ© avec le support UTF-16 tapez "dos2unix -V".
Sous Unix/Linux, les fichiers encodĂ©s en UTF-16 sont convertis vers lâencodage des caractĂšres de la localisation. Utilisez locale (1) pour dĂ©couvrir quel encodage de caractĂšres est utilisĂ©. Lorsque la conversion nâest pas possible, une erreur de conversion est produite et le fichier est abandonnĂ©.
Sous Windows, les fichiers UTF-16 sont convertis par défaut en UTF-8. Les fichiers textes formatés en UTF-8 sont bien supportés 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âentrĂ©e UTF-16 contient une erreur, le fichier est ignorĂ©.
Quand lâoption "-u" est utilisĂ©e, le fichier de sortie est Ă©crit dans le mĂȘme encodage UTF-16 que le fichier dâentrĂ©e. Lâoption "-u" empĂȘche 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 gĂ©nĂ©ralement un indicateur dâordre des octets ( BOM ) car de nombreux programmes Windows (y compris Notepad) ajoutent cet indicateur par dĂ©faut. Consultez aussi <https://fr.wikipedia.org/wiki/Indicateur_d%27ordre_des_octets>.
Sous Unix, les fichiers Unicodes nâont habituellement pas de BOM. Il est supposĂ© que les fichiers textes sont codĂ©s selon le codage de lâenvironnement linguistique.
Dos2unix ne peut dĂ©tecter 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 dĂ©faut, nâĂ©crit pas de BOM dans le fichier de sortie. Avec lâoption "-b", Dos2unix Ă©crit une BOM quand le fichier dâentrĂ©e a une BOM.
Unix2dos Ă©crit par dĂ©faut une BOM dans le fichier de sortie quand le fichier dâentrĂ©e a une BOM. Utilisez lâoption "-r" pour supprimer la BOM.
Dos2unix et unix2dos Ă©crivent toujours une BOM quand lâoption "-m" est utilisĂ©e.
Noms de fichiers unicode sous Windows
Dos2unix supporte, en option, la lecture et lâĂ©criture 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 caractĂšres nâappartenant pas au code page systĂšme ANSI par dĂ©faut. Pour voir si dos2unix pour Windows a Ă©tĂ© compilĂ© 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 ĂȘtre mal affichĂ©s dans la console mais les fichiers seront Ă©crits avec les bons noms.
Exemples Unicode
Convertir de lâ UTF-16 Windows (avec BOM ) vers lâ UTF-8 de UnixâŻ:
dos2unix -n entrée.txt sortie.txt
Convertir de lâ UTF-16LE de Windows (sans BOM ) vers lâ UTF-8 de UnixâŻ:
dos2unix -ul -n entrée.txt sortie.txt
Convertir de lâ UTF-8 de Unix vers lâ UTF-8 de Windows avec BOMâŻ:
unix2dos -m -n entrée.txt sortie.txt
Convertir de lâ UTF-8 de Unix vers lâ UTF-16 de WindowsâŻ:
unix2dos < entrée.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 <https://fr.wikipedia.org/wiki/GB_18030>.
GB18030 est entiĂšrement compatible avec Unicode et peut ĂȘtre considĂ©rĂ© comme Ă©tant 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 supportĂ© par le systĂšme. Utilisez la commande "locale -a" pour obtenir la liste des environnements linguistiques supportĂ©s.
Sous Windows, vous avez besoin de lâoption "-gb" pour convertir UTF-16 en GB18030.
Les fichiers encodĂ©s en GB18030 peuvent avoir une marque dâordre des octets, comme les fichiers Unicode.
EXEMPLES
Lire lâentrĂ©e depuis « stdin » et Ă©crire 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 Ă©crire dans e.txtâŻ:
dos2unix -n a.txt e.txt
Convertir a.txt et Ă©crire dans e.txt. La date de e.txt est la mĂȘme que celle de a.txtâŻ:
dos2unix -k -n a.txt e.txt
Convertir et remplacer a.txt. Convertir b.txt et Ă©crire dans e.txtâŻ:
dos2unix a.txt
-n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
Convertir c.txt et Ă©crire dans e.txt. Convertir et remplacer a.txt. Convertir et remplacer b.txt. Convertir d.txt et Ă©crire dans f.txtâŻ:
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
CONVERSIONS RĂCURSIVES
Dans un shell Unix, les commandes find (1) et xargs (1) peuvent ĂȘtre utilisĂ©es pour exĂ©cuter dos2unix rĂ©cursivement sur tous les fichiers textes dans une arborescence de rĂ©pertoires. Par exemple, pour convertir tous les fichiers .txt dans les rĂ©pertoires sous le rĂ©pertoire courant, tapez:
find . -name '*.txt' -print0 |xargs -0 dos2unix
Lâoption "-print0" de find (1) et lâoption correspondante "-0" de xargs (1) sont nĂ©cessaires quand il y a des fichiers avec des espaces ou des guillemets dans leur nom. Sinon, ces options peuvent ĂȘtre omises. Une autre possibilitĂ© est dâutiliser find (1) avec lâoption "-exec":
find . -name '*.txt' -exec dos2unix {} \;
En ligne de commande sous Windows, la commande suivante peut ĂȘtre utilisĂ©eâŻ:
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}
PARAMĂTRES LINGUISTIQUES
LANG
La langue principale est sĂ©lectionnĂ©e par la variable dâenvironnement LANG. La variable LANG est composĂ©e de plusieurs parties. La premiĂšre partie est le code de la langue en minuscules. La deuxiĂšme partie est le code du pays en majuscules prĂ©cĂ©dĂ© dâun soulignĂ©. Elle est facultative. Il y a aussi une troisiĂšme partie facultative qui est le codage des caractĂšres prĂ©cĂ©dĂ© par un point. Voici quelques exemples pour un shell au standard POSIX:
export LANG=fr
Français
export LANG=fr_CA Français, Canada
export LANG=fr_BE Français, 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 complĂšte des codes de langues et de pays est dans le manuel de gettext: <https://www.gnu.org/software/gettext/manual/html_node/Usual-Language-Codes.html>
Sur les systĂšmes 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 spĂ©cifier une liste de langues prioritaires sĂ©parĂ©es par des deux-points. Dos2unix fait passer LANGUAGE avant LANG. Par exemple, pour utiliser le français avant lâanglais: "LANGUAGE=fr:en". Vous devez dâabord activer lâenvironnement linguistique en assignant une valeur autre que « C » Ă LANG (ou LC_ALL ). Ensuite, vous pourrez utiliser la liste de prioritĂ© avec la variable LANGUAGE. Voyez Ă©galement le manuel de gettext: <https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html>
Si vous sĂ©lectionnez une langue qui nâest pas disponible, vous obtiendrez des messages en anglais standard.
DOS2UNIX_LOCALEDIR
GrĂące Ă la variable dâenvironnement DOS2UNIX_LOCALEDIR, la variable LOCALEDIR compilĂ©e dans lâapplication peut ĂȘtre remplacĂ©e. LOCALEDIR est utilisĂ©e pour trouver les fichiers de langue. La valeur par dĂ©faut de GNU est "/usr/local/share/locale". Lâoption --version affiche la valeur de LOCALEDIR utilisĂ©e.
Exemple (shell POSIX ):
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
VALEUR DE RETOUR
Zéro est retourné en cas de succÚs. Si une erreur systÚme se produit, la derniÚre erreur systÚme est retournée. Pour les autres erreurs, 1 est renvoyé.
La valeur de sortie est toujours zéro en mode silencieux sauf quand de mauvaises options sont utilisées sur la ligne de commande.
STANDARDS
<https://fr.wikipedia.org/wiki/Fichier_texte>
<https://fr.wikipedia.org/wiki/Retour_chariot>
<https://fr.wikipedia.org/wiki/Fin_de_ligne>
<https://fr.wikipedia.org/wiki/Unicode>
AUTEURS
Benjamin Lin - <blin@socs.uts.edu.au>, Bernd Johannes Wuebben (mode mac2unix) - <wuebben@kde.org>, Christian Wurll (ajout de saut de ligne supplémentaire) - <wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl> (Mainteneur)
Page du projet: <https://waterlan.home.xs4all.nl/dos2unix.html>
Page SourceForge: <https://sourceforge.net/projects/dos2unix/>
VOIR AUSSI
file (1) find (1) iconv (1) locale (1) xargs (1)