1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
|
*****************************************************
* GENERATED FILE, DO NOT EDIT *
* THIS IS NO SOURCE FILE, BUT RESULT OF COMPILATION *
*****************************************************
This file was generated by po4a(7). Do not store it (in VCS, for example),
but store the PO file used as source file by po4a-translate.
In fact, consider this as a binary, and the PO file as a regular .c file:
If the PO get lost, keeping this translation up-to-date will be harder.
=pod
=encoding UTF-8
=head1 NOMBRE
dos2unix - Convertidor de archivos de texto de formato DOS/Mac a Unix y
viceversa
=head1 SINOPSIS
dos2unix [parámetros] [ARCHIVO ...] [-n ARCH_DE_ENTRADA ARCH_DE_SALIDA ...]
unix2dos [parámetros] [ARCHIVO ...] [-n ARCH_DE_ENTRADA ARCH_DE_SALIDA ...]
=head1 DESCRIPCIÓN
El paquete Dos2unix incluye las utilerías C<dos2unix> y C<unix2dos> para
convertir archivos de texto plano en formato DOS o Mac a formato Unix y
viceversa.
En archivos de texto DOS/Windows, un salto de línea, también conocido como
nueva línea, es una combinación de dos caracteres: un retorno de carro (CR)
seguido por un salto de línea (LF). En archivos de texto Unix, un salto de
línea es solamente un carácter: el salto de línea (LF). En archivos de texto
Mac, antes de Mac OS X, un salto de línea era sólo un carácter retorno de
carro (CR). Actualmente, Mac OS usa el estilo Unix de saltos de línea (LF).
Además de saltos de línea, Dos2unix puede también convertir la codificación
de archivos. Unas cuantas páginas de códigos DOS pueden ser convertidas a
Unix Latin-1. Y archivos Unicode de Windows (UTF-16) pueden ser convertidos
a archivos Unicode de Unix (UTF-8).
Los archivos binarios son ignorados automáticamente, a menos que se fuerce
su conversión.
Los archivos no regulares, tales como directorios y FIFO, son ignorados
automáticamente.
Symbolic links and their targets are by default kept untouched. Symbolic
links can optionally be replaced, or the output can be written to the
symbolic link target. Writing to a symbolic link target is not supported on
Windows.
Dos2unix was modelled after dos2unix under SunOS/Solaris. There is one
important difference with the original SunOS/Solaris version. This version
does by default in-place conversion (old file mode), while the original
SunOS/Solaris version only supports paired conversion (new file mode). See
also options C<-o> and C<-n>.
=head1 PARÁMETROS
=over 4
=item B<-->
Todos los parámetros siguientes son tratados como nombres de archivo. Use
este parámetro si desea convertir archivos cuyos nombres inician con un
guión. Por ejemplo para convertir un archivo llamado "-foo", use este
comando:
dos2unix -- -foo
O en modo de archivo nuevo:
dos2unix -n -- -foo out.txt
=item B<-ascii>
Sólo convierte los salto de línea. Éste es el modo de conversión por
defecto.
=item B<-iso>
Conversión entre el conjunto de caracteres DOS e ISO-8859-1. Véase también
la sección MODOS DE CONVERSIÓN.
=item B<-1252>
Usa la página de códigos Windows 1252 (Europa Occidental).
=item B<-437>
Usa la página de códigos DOS 437 (EE. UU.). Está es la página de códigos
usada por defecto para conversión ISO.
=item B<-850>
Usa la página de códigos DOS 850 (Europa Occidental).
=item B<-860>
Usa la página de códigos DOS 860 (Portugués).
=item B<-863>
Usa la página de códigos DOS 863 (Francocanadiense).
=item B<-865>
Usa la página de códigos DOS 865 (Nórdico).
=item B<-7>
Convierte caracteres de 8 bits al espacio de 7 bits.
=item B<-c, --convmode CONVMODE>
Establece el modo de conversión, Donde CONVMODE puede ser: I<ascii>,
I<7bit>, I<iso>, I<mac> siendo ascii el valor por defecto.
=item B<-f, --force>
Fuerza la conversión de archivos binarios.
=item B<-h, --help>
Despiega la ayuda y termina el programa.
=item B<-k, --keepdate>
Mantiene la fecha del archivo de salida igual a la del archivo de entrada.
=item B<-L, --license>
Muestra la licencia del programa.
=item B<-l, --newline>
Añade salto de línea adicional.
B<dos2unix>: Sólo los saltos de línea DOS son cambiados por dos saltos de
línea Unix. En modo Mac sólo los saltos de línea Mac son cambiados por dos
saltos de línea Unix.
B<unix2dos>: Sólo los saltos de línea Unix son cambiados por dos saltos de
línea DOS. En modo Mac los saltos de línea Unix son cambiados por dos saltos
de línea Mac.
=item B<-m, --add-bom>
Escribe una marca de orden de bytes para UTF-8 en el archivo de
salida. Nunca use esta opción cuando la codificación de salida sea distinta
de UTF-8. Véase también la sección UNICODE.
=item B<-n, --newfile ARCH_DE_ENTRADA ARCH_DE_SALIDA ...>
Modo de archivo nuevo. Convierte el archivo ARCH_DE_ENTRADA y escribe la
salida al archivo ARCH_DE_SALIDA. Los nombres de archivo deben ser dados en
pares y los comodines I<no> deben ser usados o I<perderá> sus archivos.
La persona que inicia la conversión en el modo de archivo nuevo (pareado)
será el propietario del archivo convertido. Los permisos de
lectura/escritura del archivo nuevo serán los permisos del archivo original
menos la umask(1) de la persona que ejecute la conversión.
=item B<-o, --oldfile ARCHIVO ...>
Modo de archivo viejo. Convierte el archivo ARCHIVO y lo sobrescribe con la
salida. El programa por defecto se ejecuta en este modo. Sí se pueden
emplear comodines.
En modo de archivo antiguo (in situ), el archivo convertido obtiene el mismo
propietario, grupo, y permisos de lectura/escritura que el archivo
original. Lo mismo aplica cuando el archivo es convertido por otro usuario
quien tiene permiso de lectura en el archivo (p.e. usuario root). La
conversión será abortada cuando no sea posible preservar los valores
originales. Cambiar el propietario implicaría que el propietario original
ya no podrá leer el archivo. Cambiar el grupo podría ser un riesgo de
seguridad, ya que el archivo podría ser accesible a personas inadecuadas.
La preservación del propietario, grupo, y permisos de lectura/escritura sólo
está soportada bajo Unix.
=item B<-q, --quiet>
Modo silencioso. Suprime todas las advertencias y mensajes. El valor
retornado es cero. Excepto cuando se emplean parámetros incorrectos.
=item B<-s, --safe>
Ignora los archivos binarios (por defecto).
=item B<-ul, --assume-utf16le>
Supone que el formato de archivo de entrada es UTF-16LE.
Cuando existe una marca de orden de bytes (BOM) en el archivo de entrada, la
BOM tiene prioridad sobre esta opción.
Cuando se hace un supuesto incorrecto (el archivo de entrada no estaba en
formato UTF-16LE) y la conversión tiene éxito, obtendrá un archivo UTF-8 de
salida con el texto erróneo. La conversión errónea puede ser deshecha con
iconv(1) mediante convertir el archivo UTF-8 de salida de vuelta a
UTF-16LE. Esto restaurará el archivo original.
El supuesto de UTF-16LE funciona como un I<modo de conversión>. Al cambiar
al modo por defecto I<ascii> el supuesto UTF-16LE es deshabilitado.
=item B<-ub, --assume-utf16be>
Supone que el formato del archivo de entrada es UTF-16BE.
Esta opción funciona igual que la opción C<-ul>.
=item B<-F, --follow-symlink>
Sigue los enlaces simbólicos y convierte los destinos.
=item B<-R, --replace-symlink>
Reemplaza los enlaces simbólicos con los archivos convertidos (los archivos
destino originales no se alteran).
=item B<-S, --skip-symlink>
No altera los enlaces simbólicos ni sus destinos (por defecto).
=item B<-V, --version>
Despiega la información de la versión y termina el programa.
=back
=head1 MODO MAC
En modo normal los saltos de línea son convertidos de DOS a Unix y
viceversa. Los saltos de línea Mac no son convertidos.
En modo Mac los saltos de línea son convertidos de Mac a Unix y
viceversa. Los saltos de línea DOS no son modificados.
Para ejecutar en modo Mac use el modificador C<-c mac> o use los comandos
C<mac2unix> o C<unix2mac>.
=head1 MODOS DE CONVERSIÓN
=over 4
=item B<ascii>
En modo C<ascii> sólo los saltos de línea son convertidos. Éste es el modo
de conversión por defecto.
Aunque el nombre de este modo es ASCII, el cual es un estándar de 7 bits,
éste emplea 8 bits. Siempre use este modo cuando convierta archivos en
Unicode UTF-8.
=item B<7bit>
En este modo todos los caracteres no ASCII de 8 bits (con valores de 128 a
255) son convertidos al espacio de 7 bits.
=item B<iso>
Los caracteres son convertidos entre un conjunto de caracteres DOS (página
de códigos) y el conjunto de caracteres ISO-8859-1 (Latín-1) de Unix. Los
caracteres DOS sin equivalente ISO-8859-1, para los cuales la conversión es
imposible, son convertidos en un punto. Lo mismo se aplica para caracteres
ISO-8859-1 sin contraparte DOS.
Cuando sólo se emplea el parámetro C<-iso>, dos2unix intentará determinar la
página de códigos activa. Cuando esto no sea posible, dos2unix utilizará la
página de códigos 437 por defecto, la cual es empleada principalmente en
EE. UU. Para forzar una página de códigos específica emplee los parámetros
C<-437> (EE. UU.), C<-850> (Europa Occidental), C<-860> (Portugués), C<-863>
(Francocanadiense), o C<-865> (Nórdico). La página de códigos Windows 1252
(Europa Occidental) también está soportada con el parámetro C<-1252>. Para
acceder a otras páginas de códigos use dos2unix en combinación con
iconv(1). Iconv puede convertir entre una larga lista de codificaciones de
caracteres.
Nunca emplee la conversión ISO en archivos de texto Unicode. Esto corromperá
los archivos codificados como UTF-8.
Algunos ejemplos:
Convierte de la página de códigos por defecto de DOS a Latín-1 de Unix.
dos2unix -iso -n in.txt out.txt
Convierte de DOS 850 a Unix Latín-1.
dos2unix -850 -n in.txt out.txt
Convierte de Windows 1252 a Unix Latín-1.
dos2unix -1252 -n in.txt out.txt
Convierte de Windows 1252 a Unix UTF-8 (Unicode).
iconv -f CP1252 -t UTF-8 in.txt | dos2unix > out.txt
Convert from Unix Latin-1 to DOS default code page
unix2dos -iso -n in.txt out.txt
Convierte de Unix Latín-1 a DOS 850.
unix2dos -850 -n in.txt out.txt
Convierte de Unix Latín-1 a Windows 1252.
unix2dos -1252 -n in.txt out.txt
Convierte de Unix UTF-8 (Unicode) a Windows 1252.
unix2dos < in.txt | iconv -f UTF-8 -t CP1252 > out.txt
Véase también L<http://czyborra.com/charsets/codepages.html> y
L<http://czyborra.com/charsets/iso8859.html>.
=back
=head1 UNICODE
=head2 Codificaciones
Existen diferentes codificaciones Unicode. En Unix y Linux los archivos
Unicode son codificados comúnmente como UTF-8. En Windows los archivos de
texto Unicode pueden estar codificados en UTF-8, UTF-16, o UTF-16 big
endian, pero con más frecuencia son codificados en formato UTF-16.
=head2 Conversion
Los archivos de texto Unicode pueden tener saltos de línea DOS, Unix o Mac,
como cualquier archivo de texto.
Todas las versiones de dos2unix y unix2dos pueden convertir archivos
codificados como UTF-8, debido a que UTF-8 fue diseñado para
retro-compatibilidad con ASCII.
Dos2unix y unix2dos con soporte Unicode UTF-16, pueden leer archivos de
texto codificados como UTF-16 little y big endian. Para ver si dos2unix fue
compilado con soporte UTF-16 escriba C<dos2unix -V>.
Las versiones Windows de dos2unix y unix2dos siempre convierten archivos
Codificados como UTF-16 a UTF-8. Las versiones Unix de dos2unix/unix2dos
convierten archivos UTF-16 a la codificación de caracteres local cuando es
configurado a UTF-8. Emplee el comando locale(1) para determinar cual es la
codificación de caracteres local.
Dado que los archivos de texto formateados UTF-8 son bien soportados tanto
en Windows como en Unix, dos2unix y unix2dos no tienen opción para escribir
archivos UTF-16. Todos los caracteres UTF-16 pueden ser codificados en
UTF-8. La conversión de UTF-16 a UTF-8 ocurre sin pérdida. Los archivos
UTF-16 serán ignorados en Unix cuando la codificación de caracteres local no
sea UTF-8, para evitar la pérdida accidental de texto. Cuando ocurre un
error de conversión de UTF-16 a UTF-8, por ejemplo cuando el archivo de
entrada UTF-16 contiene un error, el archivo será ignorado.
La conversión en modos ISO y 7-bit no funciona en archivos UTF-16.
=head2 Marca de orden de bytes
En Windows los archivos de texto Unicode típicamente tienen una marca de
orden de bytes (BOM), debido a que muchos programas de Windows (incluyendo
el Bloc de notas) añaden una BOM por defecto. Véase también
L<http://es.wikipedia.org/wiki/Marca_de_orden_de_bytes_%28BOM%29>.
En Unix los archivos Unicode típicamente no tienen una BOM. Se supone que
los archivos de texto son codificados en la codificación de caracteres
local.
Dos2unix sólo puede detectar si un archivo está en formato UTF-16 si el
archivo tiene una BOM. Cuando un archivo UTF-16 no tiene una BOM, dos2unix
tratará el archivo como un archivo binario.
Emplee la opción C<-ul> o C<-ub> para convertir un archivo UTF-16 sin BOM.
Dos2unix nunca escribe una BOM en el archivo de salida, a menos que emplee
la opción C<-m>.
Unix2dos escribe una BOM en el archivo de salida cuando el archivo de
entrada tiene una BOM, o cuando se emplea la opción C<-m>.
=head2 Ejemplos Unicode
Convertir de Windows UTF-16 (con una BOM) a Unix UTF-8
dos2unix -n in.txt out.txt
Convertir de Windows UTF-16LE (sin una BOM) a Unix UTF-8
dos2unix -ul -n in.txt out.txt
Convertir de Unix UTF-8 a Windows UTF-8 sin una BOM
unix2dos -m -n in.txt out.txt
Convertir de Unix UTF-8 a Windows UTF-16
unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt
=head1 EJEMPLOS
Lee la entrada desde 'stdin' y escribe la salida a 'stdout'.
dos2unix
dos2unix -l -c mac
Convierte y reemplaza a.txt. Convierte y reemplaza b.txt.
dos2unix a.txt b.txt
dos2unix -o a.txt b.txt
Convierte y reemplaza a.txt empleando modo de conversión ascii.
dos2unix a.txt
Convierte y reemplaza a.txt empleando modo de conversión ascii. Convierte y
reemplaza b.txt empleando modo de conversión de 7bits.
dos2unix a.txt -c 7bit b.txt
dos2unix -c ascii a.txt -c 7bit b.txt
dos2unix -ascii a.txt -7 b.txt
Convierte a.txt del formato de Mac a Unix.
dos2unix -c mac a.txt
mac2unix a.txt
Convierte a.txt del formato de Unix a Mac.
unix2dos -c mac a.txt
unix2mac a.txt
Convierte y reemplaza a.txt manteniendo la fecha del archivo original.
dos2unix -k a.txt
dos2unix -k -o a.txt
Convierte a.txt y escribe la salida a e.txt.
dos2unix -n a.txt e.txt
Convierte a.txt y escribe la salida a e.txt, manteniendo la fecha de e.txt
igual a la de a.txt.
dos2unix -k -n a.txt e.txt
Convierte y reemplaza a.txt. Convierte b.txt y escribe a e.txt.
dos2unix a.txt -n b.txt e.txt
dos2unix -o a.txt -n b.txt e.txt
Convierte c.txt y escribe a e.txt. Convierte y reemplaza a.txt. Convierte y
reemplaza b.txt. Convierte d.txt y escribe a f.txt.
dos2unix -n c.txt e.txt -o a.txt b.txt -n d.txt f.txt
=head1 CONVERSIÓN RECURSIVA
Emplee dos2unix en combinación con los comandos find(1) y xargs(1) para
convertir recursivamente archivos de texto contenidos en un árbol de
directorios. Por ejemplo para convertir todos los archivos .txt en el árbol
de directorios debajo del directorio actual escriba:
find . -name *.txt |xargs dos2unix
=head1 INTERNACIONALIZACIÓN
=over 4
=item B<LANG>
El idioma principal se selecciona con la variable de entorno LANG. La
variable LANG consiste de varias partes. La primer parte es el código del
idioma en minúsculas. La segunda es opcional y es el código del país en
mayúsculas, precedido por un guión bajo. Existe también una tercera parte
opcional: la codificación de caracteres, precedida por un punto. Unos
cuantos ejemplos para intérpretes de comandos tipo POSIX estándar:
export LANG=nl Neerlandés
export LANG=nl_NL Neerlandés, Países Bajos
export LANG=nl_BE Neerlandés, Bélgica
export LANG=es_ES Español, España
export LANG=es_MX Español, México
export LANG=en_US.iso88591 Ingles, EE. UU., codificación Latín-1
export LANG=en_GB.UTF-8 Ingles, Reino Unido, codificación UTF-8
Para una lista completa de códigos de idioma y país véase el manual de
gettext:
L<http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes>
En sistemas Unix puede emplear el comando locale(1) para obtener información
específica del locale.
=item B<LANGUAGE>
Con la variable de entorno LANGUAGE puede especificar una lista de prioridad
de los idiomas, separados por dos puntos. Dos2unix da preferencia a LANGUAGE
por encima de LANG. Por ejemplo, primero neerlandés y entonces alemán:
C<LANGUAGE=nl:de>. Antes de que pueda usar una lista de prioridad de idiomas
a través de la variable LANGUAGE, primero tiene que habilitar la
internacionalización, mediante asignar un valor distinto de "C" a LANG (o
LC_ALL). Véase también el manual de gettext:
L<http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable>
Si selecciona un idioma que no está disponible el programa funcionará en
ingles.
=item B<DOS2UNIX_LOCALEDIR>
Con la variable de entorno DOS2UNIX_LOCALEDIR el LOCALEDIR asignado durante
la compilación puede ser modificado. LOCALEDIR es usado para encontrar los
archivos de idioma. El valor por defecto de GNU es
C</usr/local/share/locale>. El parámetro B<--version> desplegará el
LOCALEDIR en uso.
Ejemplo (intérprete de comandos POSIX):
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
=back
=head1 VALOR DE RETORNO
Se regresa cero cuando el programa termina exitosamente. Cuando ocurre un
error del sistema se regresará el último número de error del sistema. Para
otros errores se regresa 1.
El valor de retorno es siempre cero en modo silencioso, excepto cuando se
emplean parámetros incorrectos.
=head1 ESTÁNDARES
L<http://es.wikipedia.org/wiki/Documento_de_texto>
L<http://es.wikipedia.org/wiki/Retorno_de_carro>
L<http://es.wikipedia.org/wiki/Nueva_l%C3%ADnea>
L<http://es.wikipedia.org/wiki/Unicode>
=head1 AUTORES
Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (mac2unix mode)
- <wuebben@kde.org>, Christian Wurll (add extra newline) -
<wurll@ira.uka.de>, Erwin Waterlander - <waterlan@xs4all.nl> (Maintainer)
Página del proyecto: L<http://waterlan.home.xs4all.nl/dos2unix.html>
Página de SourceForge: L<http://sourceforge.net/projects/dos2unix/>
Freecode: L<http://freecode.com/projects/dos2unix>
=head1 VÉASE TAMBIÉN
file(1) find(1) iconv(1) locale(1) xargs(1)
|