2 dos2unix - Convertit les fichiers textes du format DOS/Mac vers Unix et
6 dos2unix [options] [FICHIER …] [-n FICHIER_ENTRÉE FICHIER_SORTIE …]
7 unix2dos [options] [FICHIER …] [-n FICHIER_ENTRÉE FICHIER_SORTIE …]
10 Le package Dos2unix inclut les utilitaires "dos2unix" et "unix2dos" pour
11 convertir des fichiers textes au format DOS ou Mac vers le format Unix
14 Dans les fichiers textes DOS/Windows, un saut de ligne est une
15 combinaison de deux caractères: un retour de chariot (CR) suivi d'un
16 saut de ligne (LF). Dans les fichiers textes Unix, le saut de ligne est
17 un seul caractère: le saut de ligne (LF). Les fichiers textes Mac, avant
18 Mac OS X, utilisaient le retour chariot (CR) comme seul caractère. De
19 nos jours, Mac OS utilise le même style de saut de ligne que Unix (LF).
21 Outre les sauts de lignes, Dos2unix convertit aussi le codage des
22 fichiers. Quelques codes page DOS peuvent être convertis en Latin-1 sous
23 Unix. L'Unicode des fichiers Windows (UTF-16) peut être converti en
26 Les fichiers binaires sont automatiquement ignorés à moins que la
27 conversion soit forcée.
29 Les fichiers non réguliers tels que les répertoires et les FIFOs sont
30 automatiquement ignorés.
32 Les liens symboliques et leur cible sont, par défaut, inchangés. En
33 option, les liens symboliques peuvent être remplacés ou, au choix, la
34 sortie peut être écrite dans la cible du lien symbolique. Écrire dans la
35 cible d'un lien symbolique n'est pas supporté sous Windows.
37 Dos2unix a été conçu comme dos2unix sous SunOS/Solaris. Il y a une
38 différence importante avec la version originale de SunOS/Solaris. Cette
39 version effectue les conversions en place (ancien mode de fichiers)
40 tandis que la version originale de SunOS/Solaris ne supporte que la
41 conversion par paire (nouveau mode de fichier). Voyez aussi les options
45 -- Traites toutes les options à sa suite comme étant des noms de
46 fichiers. Utilisez cette option si vous voulez convertir des
47 fichiers dont le nom commence par un tiret. Par exemple, pour
48 convertir un fichier nommé « -foo », vous pouvez utiliser cette
53 Ou dans le style des nouveaux fichiers:
55 dos2unix -n -- -foo sortie.txt
58 Convertit uniquement les sauts de lignes. C'est le mode de
59 conversion par défaut.
62 Convertit le jeu de caractères du DOS vers ISO-8859-1. Voyez aussi
63 la section des MODES DE CONVERSION.
66 Utilise le code page 1252 de Windows (Europe de l'ouest).
69 Utilise le code page 437 du DOS (US). C'est le code page par défaut
70 pour les conversions ISO.
73 Utilise le code page 850 du DOS (Europe de l'ouest).
76 Utilise le code page 860 du DOS (portugais).
79 Utilise le code page 863 du DOS (français canadien).
82 Utilise le code page 865 du DOS (nordique).
84 -7 Convertit les caractères 8 bits vers l'espace 7 bits.
87 Conserve la marque d'ordre des octets (BOM). Si le fichier d'entrée
88 a une BOM, elle est écrite dans le fichier de sortie. C'est le
89 comportement par défaut quand les sauts de lignes sont convertis au
90 format DOS. Consultez aussi l'option "-r".
92 -c, --convmode MODE_CONV
93 Change le mode de conversion. MODE_CONV prend l'une des valeurs:
94 *ascii*, *7bit*, *iso*, *mac*. Ascii est la valeur par défaut.
97 Force la conversion de fichiers binaires.
100 Affiche l'aide et s'arrête.
102 -i[FLAGS], --info[=FLAGS] FILE ...
103 Display file information. No conversion is done.
105 The following information is printed, in this order: number of DOS
106 line breaks, number of Unix line breaks, number of Mac line breaks,
107 byte order mark, text or binary, file name.
111 6 0 0 no_bom text dos.txt
112 0 6 0 no_bom text unix.txt
113 0 0 6 no_bom text mac.txt
114 6 6 6 no_bom text mixed.txt
115 50 0 0 UTF-16LE text utf16le.txt
116 0 50 0 no_bom text utf8unix.txt
117 50 0 0 UTF-8 text utf8dos.txt
118 2 418 219 no_bom binary dos2unix.exe
120 Optionally extra flags can be set to change the output. One or more
123 d Print number of DOS line breaks.
125 u Print number of Unix line breaks.
127 m Print number of Mac line breaks.
129 b Print the byte order mark.
131 t Print if file is text or binary.
133 c Print only the files that would be converted.
135 With the "c" flag dos2unix will print only the files that
136 contain DOS line breaks, unix2dos will print only file names
137 that have Unix line breaks.
141 Show information for all *.txt files:
145 Show only the number of DOS line breaks and Unix line breaks:
149 Show only the byte order mark:
151 dos2unix --info=b *.txt
153 List the files that have DOS line breaks.
157 List the files that have Unix line breaks.
162 La date du fichier de sortie est la même que celle du fichier
166 Affiche la licence du programme.
169 Ajoute des sauts de lignes additionnels.
171 dos2unix: Seuls les sauts de lignes du DOS sont changés en deux
172 sauts de lignes de Unix. En mode Mac, seuls les sauts de lignes Mac
173 sont changés en deux sauts de lignes Unix.
175 unix2dos: Seuls les sauts de lignes Unix sont changés en deux sauts
176 de lignes du DOS. En mode Mac, les sauts de lignes Unix sont
177 remplacés par deux sauts de lignes Mac.
180 Écrit une marque d'ordre des octets (BOM) dans le fichier de sortie.
181 Par défaut une BOM UTF-8 est écrite.
183 Lorsque le fichier d'entrée est en UTF-16 et que l'option "-u" est
184 utilisée, une BOM UTF-16 est écrite.
186 N'utilisez jamais cette option quand l'encodage du fichier de sortie
187 n'est ni UTF-8 ni UTF-16. Consultez également la section UNICODE.
189 -n, --newline FICHIER_ENTRÉE FICHIER_SORTIE …
190 Nouveau mode de fichiers. Convertit le fichier FICHER_ENTRÉE et
191 écrit la sortie dans le fichier FICHIER_SORTIE. Les noms des
192 fichiers doivent être indiqués par paires. Les jokers *ne* doivent
193 *pas* être utilisés ou vous *perdrez* vos fichiers.
195 La personne qui démarre la conversion dans le nouveau mode (pairé)
196 des fichiers sera le propriétaire du fichier converti. Les
197 permissions de lecture/écriture du nouveau fichier seront les
198 permissions du fichier original moins le umask(1) de la personne qui
199 exécute la conversion.
201 -o, --oldfile FICHIER …
202 Ancien mode de fichiers. Convertit le fichier FICHIER et écrit la
203 sortie dedans. Le programme fonctionne dans ce mode par défaut. Les
204 jokers peuvent être utilisés.
206 Dans l'ancien mode (en place) des fichiers, les fichiers convertis
207 ont le même propriétaire, groupe et permissions lecture/écriture que
208 le fichier original. Idem quand le fichier est converti par un
209 utilisateur qui a la permission d'écrire dans le fichier (par
210 exemple, root). La conversion est interrompue si il n'est pas
211 possible de conserver les valeurs d'origine. Le changement de
212 propriétaire pourrait signifier que le propriétaire original n'est
213 plus en mesure de lire le fichier. Le changement de groupe pourrait
214 être un risque pour la sécurité. Le fichier pourrait être rendu
215 accessible en lecture par des personnes à qui il n'est pas destiné.
216 La conservation du propriétaire, du groupe et des permissions de
217 lecture/écriture n'est supportée que sous Unix.
220 Mode silencieux. Supprime les avertissements et les messages. La
221 valeur de sortie est zéro sauf quand de mauvaises options sont
222 utilisées sur la ligne de commande.
225 Supprime la marque d'ordre des octets (BOM). N'écrit pas la BOM dans
226 le fichier de sortie. Ceci est le comportement par défaut lorsque
227 les sauts de lignes sont convertis au format Unix. Consultez aussi
231 Ignore les fichiers binaires (par défaut).
234 Conserve l'encodage UTF-16 original du fichier d'entrée. Le fichier
235 de sortie sera écrit dans le même encodage UTF-16 (petit ou grand
236 boutien) que le fichier d'entrée. Ceci évite la transformation en
237 UTF-8. Une BOM UTF-16 sera écrite en conséquent. Cette option peut
238 être désactivée avec l'option "-ascii".
240 -ul, --assume-utf16le
241 Suppose que le fichier d'entrée est au format UTF-16LE.
243 Quand il y a un indicateur d'ordre des octets dans le fichier
244 d'entrée, l'indicateur a priorité sur cette option.
246 Si vous vous êtes trompé sur le format du fichier d'entrée (par
247 exemple, ce n'était pas un fichier UTF16-LE) et que la conversion
248 réussi, vous obtiendrez un fichier UTF-8 contenant le mauvais texte.
249 Vous pouvez récupérer le fichier original avec iconv(1) en
250 convertissant le fichier de sortie UTF-8 vers du UTF-16LE.
252 La présupposition de l'UTF-16LE fonctionne comme un *mode de
253 conversion*. En utilisant le mode *ascii* par défaut, UTF-16LE n'est
256 -ub, --assume-utf16be
257 Suppose que le fichier d'entrée est au format UTF-16BE.
259 Cette option fonctionne comme l'option "-ul".
262 Affiche des messages verbeux. Des informations supplémentaires sont
263 affichées à propos des marques d'ordre des octets et du nombre de
264 sauts de lignes convertis.
267 Suit les liens symboliques et convertit les cibles.
269 -R, --replace-symlink
270 Remplace les liens symboliques par les fichiers convertis (les
271 fichiers cibles originaux restent inchangés).
274 Ne change pas les liens symboliques ni les cibles (par défaut).
277 Affiche les informations de version puis arrête.
280 En mode normal, les sauts de lignes sont convertis du DOS vers Unix et
281 inversement. Les sauts de lignes Mac ne sont pas convertis.
283 En mode Mac, les sauts de lignes sont convertis du format Mac au format
284 Unix et inversement. Les sauts de lignes DOS ne sont pas changés.
286 Pour fonctionner en mode Mac, utilisez l'option en ligne de commande "-c
287 mac" ou utilisez les commandes "mac2unix" ou "unix2mac".
291 En mode "ascii", seuls les sauts de lignes sont convertis. Ceci est
292 le mode de conversion par défaut.
294 Bien que le nom de ce mode soit ASCII, qui est un standard 7 bits,
295 ce mode travail en réalité sur 8 bits. Utilisez toujours ce mode
296 lorsque vous convertissez des fichiers Unicode UTF-8.
299 Dans ce mode, tous les caractères 8 bits non ASCII (avec des valeurs
300 entre 128 et 255) sont remplacés par une espace 7 bits.
302 iso Les caractères sont convertis entre un jeu de caractères DOS (code
303 page) et le jeu de caractères ISO-8859-1 (Latin-1) de Unix. Les
304 caractères DOS sans équivalent ISO-8859-1, pour lesquels la
305 conversion n'est pas possible, sont remplacés par un point. La même
306 chose est valable pour les caractères ISO-8859-1 sans équivalent
309 Quand seule l'option "-iso" est utilisée, dos2unix essaie de
310 déterminer le code page actif. Quand ce n'est pas possible, dos2unix
311 utilise le code page CP437 par défaut qui est surtout utilisé aux
312 USA. Pour forcer l'utilisation d'un code page spécifique, utilisez
313 les options -437 (US), -850 (Europe de l'ouest), -860 (portugais),
314 -863 (français canadien) ou -865 (nordique). Le code page CP1252 de
315 Windows (Europe de l'ouest) est également supporté avec l'option
316 -1252. Pour d'autres codes pages, utilisez dos2unix avec iconv(1).
317 Iconv supporte une longue liste de codages de caractères.
319 N'utilisez jamais la conversion ISO sur des fichiers textes Unicode.
320 Cela va corrompre les fichiers encodés en UTF-8.
324 Convertir du code page par défaut du DOS au Latin-1 Unix
326 dos2unix -iso -n entrée.txt sortie.txt
328 Convertir du CP850 du DOS au Latin-1 Unix
330 dos2unix -850 -n entrée.txt sortie.txt
332 Convertir du CP1252 de Windows au Latin-1 de Unix
334 dos2unix -1252 -n entrée.txt sortie.txt
336 Convertir le CP1252 de Windows en UTF-8 de Unix (Unicode)
338 iconv -f CP1252 -t UTF-8 entrée.txt | dos2unix > sortie.txt
340 Convertir du Latin-1 de Unix au code page par défaut de DOS
342 unix2dos -iso -n entrée.txt sortie.txt
344 Convertir le Latin-1 de Unix en CP850 du DOS
346 unix2dos -850 -n entrée.txt sortie.txt
348 Convertir le Latin-1 de Unix en CP1252 de Windows
350 unix2dos -1252 -n entrée.txt sortie.txt
352 Convertir le UTF-8 de Unix (Unicode) en CP1252 de Windows
354 unix2dos < entrée.txt | iconv -f UTF-8 -t CP1252 > sortie.txt
356 Consultez aussi <http://czyborra.com/charsets/codepages.html> et
357 <http://czyborra.com/charsets/iso8859.html>.
361 Il existe plusieurs codages Unicode. Sous Unix et Linux, les fichiers
362 sont généralement codés en UTF-8. Sous Windows, les fichiers textes
363 Unicode peuvent être codés en UTF-8, UTF-16 ou UTF-16 gros boutien mais
364 ils sont majoritairement codés au format UTF-16.
367 Les fichiers textes Unicode peuvent avoir des sauts de lignes DOS, Unix
368 ou Mac, tout comme les fichiers textes normaux.
370 Toutes les versions de dos2unix et unix2dos peuvent convertir des
371 fichiers codés en UTF-8 car UTF-8 a été conçu pour être rétro-compatible
374 Dos2unix et unix2dos, avec le support pour l'Unicode UTF-16, peuvent
375 lire les fichiers textes codés sous forme petit boutien ou gros boutien.
376 Pour savoir si dos2unix a été compilé avec le support UTF-16 tapez
379 Les fichiers encodés en UTF-16 sont convertis par défaut en UTF-8. Sous
380 Unix/Linux, le codage des caractères de l'environnement linguistique
381 doit être UTF-8. Utilisez la commande locale(1) pour déterminer le
382 codage des caractères utilisé. Les fichiers textes au format UTF-8 sont
383 bien supportés sous Windows et Unix/Linux.
385 Les codages UTF-16 et UTF-8 sont parfaitement compatibles. Il n'y a pas
386 de pertes lors de la conversion. Lorsqu'une erreur de conversion UTF-16
387 vers UTF-8 survient, par exemple, quand le fichier d'entrée UTF-16
388 contient une erreur, le fichier est ignoré.
390 Quand l'option "-u" est utilisée, le fichier de sortie est écrit dans le
391 même encodage UTF-16 que le fichier d'entrée. L'option "-u" empêche la
394 Dos2unix et unix2dos n'ont pas d'option pour convertir des fichiers
397 Les modes de conversion ISO et 7 bits ne fonctionnent pas sur des
400 Marque d'ordre des octets
401 Les fichiers textes Unicode sous Windows on généralement un indicateur
402 d'ordre des octets (BOM) car de nombreux programmes Windows (y compris
403 Notepad) ajoutent cet indicateur par défaut. Consultez aussi
404 <http://fr.wikipedia.org/wiki/Indicateur_d%27ordre_des_octets>.
406 Sous Unix, les fichiers Unicodes n'ont habituellement pas de BOM. Il est
407 supposé que les fichiers textes sont codés selon le codage de
408 l'environnement linguistique.
410 Dos2unix ne peut détecter que le fichier est au format UTF-16 si le
411 fichier n'a pas de BOM. Quand le fichier UTF-16 n'a pas cet indicateur,
412 dos2unix voit le fichier comme un fichier binaire.
414 Utilisez l'option "-ul" ou "-ub" pour convertir un fichier UTF-16 sans
417 Dos2unix, par défaut, n'écrit pas de BOM dans le fichier de sortie. Avec
418 l'option "-b", Dos2unix écrit une BOM quand le fichier d'entrée a une
421 Unix2dos écrit par défaut une BOM dans le fichier de sortie quand le
422 fichier d'entrée a une BOM. Utilisez l'option "-r" pour supprimer la
425 Dos2unix et unix2dos écrivent toujours une BOM quand l'option "-m" est
429 Convertir de l'UTF-16 Windows (avec BOM) vers l'UTF-8 de Unix
431 dos2unix -n entrée.txt sortie.txt
433 Convertir de l'UTF-16LE de Windows (sans BOM) vers l'UTF-8 de Unix
435 dos2unix -ul -n entrée.txt sortie.txt
437 Convertir de l'UTF-8 de Unix vers l'UTF-8 de Windows avec BOM
439 unix2dos -m -n entrée.txt sortie.txt
441 Convertir de l'UTF-8 de Unix vers l'UTF-16 de Windows
443 unix2dos < entrée.txt | iconv -f UTF-8 -t UTF-16 > sortie.txt
446 Lire l'entrée depuis « stdin » et écrire la sortie vers « stdout »
451 Convertir et remplacer a.txt. Convertir et remplace b.txt.
454 dos2unix -o a.txt b.txt
456 Convertir et remplacer a.txt en mode de conversion ascii.
460 Convertir et remplacer a.txt en mode de conversion ascii. Convertir et
461 remplacer b.txt en mode de conversion 7 bits.
463 dos2unix a.txt -c 7bit b.txt
464 dos2unix -c ascii a.txt -c 7bit b.txt
465 dos2unix -ascii a.txt -7 b.txt
467 Convertir a.txt depuis le format Mac vers le format Unix.
469 dos2unix -c mac a.txt
472 Convertir a.txt du format Unix au format Mac.
474 unix2dos -c mac a.txt
477 Convertir et remplacer a.txt tout en conservant la date originale.
482 Convertir a.txt et écrire dans e.txt.
484 dos2unix -n a.txt e.txt
486 Convertir a.txt et écrire dans e.txt. La date de e.txt est la même que
489 dos2unix -k -n a.txt e.txt
491 Convertir et remplacer a.txt. Convertir b.txt et écrire dans e.txt.
493 dos2unix a.txt -n b.txt e.txt
494 dos2unix -o a.txt -n b.txt e.txt
496 Convertir c.txt et écrire dans e.txt. Convertir et remplacer a.txt.
497 Convertir et remplacer b.txt. Convertir d.txt et écrire dans f.txt.
499 dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
501 CONVERSIONS RÉCURSIVES
502 Utilisez dos2unix avec les commandes find(1) et xargs(1) pour convertir
503 récursivement des fichiers textes dans une arborescence de répertoires.
504 Par exemple, pour convertir tous les fichiers .txt dans les répertoires
505 sous le répertoire courant, tapez:
507 find . -name *.txt |xargs dos2unix
509 PARAMÈTRES LINGUISTIQUES
511 La langue principale est sélectionnée par la variable
512 d'environnement LANG. La variable LANG est composée de plusieurs
513 parties. La première partie est le code de la langue en minuscules.
514 La deuxième partie est le code du pays en majuscules précédé d'un
515 souligné. Elle est facultative. Il y a aussi une troisième partie
516 facultative qui est le codage des caractères précédé par un point.
517 Voici quelques exemples pour un shell au standard POSIX:
519 export LANG=fr Français
520 export LANG=fr_CA Français, Canada
521 export LANG=fr_BE Français, Belgique
522 export LANG=es_ES Espagnol, Espagne
523 export LANG=es_MX Espagnol, Mexique
524 export LANG=en_US.iso88591 Anglais, USA, codage Latin-1
525 export LANG=en_GB.UTF-8 Anglais, UK, codage UTF-8
527 La liste complète des codes de langues et de pays est dans le manuel
529 <http://www.gnu.org/software/gettext/manual/gettext.html#Language-Co
532 Sur les systèmes Unix, vous pouvez utiliser la commande locale(1)
533 pour obtenir des informations sur l'environnement linguistique.
536 Avec la variable d'environnement LANGUAGE, vous pouvez spécifier une
537 liste de langues prioritaires séparées par des deux-points. Dos2unix
538 fait passer LANGUAGE avant LANG. Par exemple, pour utiliser le
539 français avant l'anglais: "LANGUAGE=fr:en". Vous devez d'abord
540 activer l'environnement linguistique en assignant une valeur autre
541 que « C » à LANG (ou LC_ALL). Ensuite, vous pourrez utiliser la
542 liste de priorité avec la variable LANGUAGE. Voyez également le
544 <http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAG
547 Si vous sélectionnez une langue qui n'est pas disponible, vous
548 obtiendrez des messages en anglais standard.
551 Grâce à la variable d'environnement DOS2UNIX_LOCALEDIR, la variable
552 LOCALEDIR compilée dans l'application peut être remplacée. LOCALEDIR
553 est utilisée pour trouver les fichiers de langue. La valeur par
554 défaut de GNU est "/usr/local/share/locale". L'option --version
555 affiche la valeur de LOCALEDIR utilisée.
557 Exemple (shell POSIX):
559 export DOS2UNIX_LOCALEDIR=$HOME/share/locale
562 Zéro est retourné en cas de succès. Si une erreur système se produit, la
563 dernière erreur système est retournée. Pour les autres erreurs, 1 est
566 La valeur de sortie est toujours zéro en mode silencieux sauf quand de
567 mauvaises options sont utilisées sur la ligne de commande.
570 <http://fr.wikipedia.org/wiki/Fichier_texte>
572 <http://fr.wikipedia.org/wiki/Retour_chariot>
574 <http://fr.wikipedia.org/wiki/Fin_de_ligne>
576 <http://fr.wikipedia.org/wiki/Unicode>
579 Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (mode
580 mac2unix) - <wuebben@kde.org>, Christian Wurll (ajout de saut de ligne
581 supplémentaire) - <wurll@ira.uka.de>, Erwin Waterlander -
582 <waterlan@xs4all.nl> (Mainteneur)
584 Page du projet: <http://waterlan.home.xs4all.nl/dos2unix.html>
586 Page SourceForge: <http://sourceforge.net/projects/dos2unix/>
589 file(1) find(1) iconv(1) locale(1) xargs(1)