NOMBRE¶
dos2unix - Convertidor de archivos de texto de formato DOS/Mac a Unix y
viceversa
SINOPSIS¶
dos2unix [parámetros] [ARCHIVO ...] [-n ARCH_DE_ENTRADA ARCH_DE_SALIDA ...]
unix2dos [parámetros] [ARCHIVO ...] [-n ARCH_DE_ENTRADA ARCH_DE_SALIDA ...]
DESCRIPCIÓN¶
El paquete Dos2unix incluye las utilerías "dos2unix" y
"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).
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.
Los enlaces simbólicos y sus destinos no son modificados por defecto. Los
enlaces simbólicos pueden opcionalmente ser reemplazados, o la salida
puede ser escrita al archivo destino del enlace. Los enlaces simbólicos
en Windows no están soportados. Estos son siempre reemplazados, sin que
se alteren sus destinos.
Dos2unix fue moldeado a partir del dos2unix que existe en SunOS/Solaris y tiene
modos de conversión similares.
PARÁMETROS¶
- --
- 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
- -ascii
- Sólo convierte los salto de línea. Éste es
el modo de conversión por defecto.
- -iso
- Conversión entre el conjunto de caracteres DOS e
ISO-8859-1. Véase también la sección MODOS DE
CONVERSIÓN.
- -1252
- Usa la página de códigos Windows 1252 (Europa
Occidental).
- -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.
- -850
- Usa la página de códigos DOS 850 (Europa
Occidental).
- -860
- Usa la página de códigos DOS 860
(Portugués).
- -863
- Usa la página de códigos DOS 863
(Francocanadiense).
- -865
- Usa la página de códigos DOS 865
(Nórdico).
- -7
- Convierte caracteres de 8 bits al espacio de 7 bits.
- -c, --convmode CONVMODE
- Establece el modo de conversión, Donde CONVMODE puede
ser: ascii, 7bit, iso, mac siendo ascii el
valor por defecto.
- -f, --force
- Fuerza la conversión de archivos binarios.
- -h, --help
- Despiega la ayuda y termina el programa.
- -k, --keepdate
- Mantiene la fecha del archivo de salida igual a la del
archivo de entrada.
- -L, --license
- Muestra la licencia del programa.
- -l, --newline
- Añade salto de línea adicional.
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.
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.
- -m, --add-bom
- Write an UTF-8 Byte Order Mark in the output file. Never
use this option when the output encoding is other than UTF-8. See also
section UNICODE.
- -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 no deben ser usados o
perderá sus archivos.
- -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.
- -q, --quiet
- Modo silencioso. Suprime todas las advertencias y mensajes.
El valor retornado es cero. Excepto cuando se emplean parámetros
incorrectos.
- -s, --safe
- Ignora los archivos binarios (por defecto).
- -F, --follow-symlink
- Sigue los enlaces simbólicos y convierte los
destinos.
- -R, --replace-symlink
- Reemplaza los enlaces simbólicos con los archivos
convertidos (los archivos destino originales no se alteran).
- -S, --skip-symlink
- No altera los enlaces simbólicos ni sus destinos (por
defecto).
- -V, --version
- Despiega la información de la versión y termina
el programa.
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 mac" o use los
comandos "mac2unix" o "unix2mac".
MODOS DE CONVERSIÓN¶
Los modos de conversión
ascii,
7bit, e
iso son
similares a los de los comandos dos2unix/unix2dos de SunOS/Solaris.
- ascii
- En modo "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.
- 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.
- 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 "-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 "-437" (EE. UU.), "-850" (Europa
Occidental), "-860" (Portugués), "-863"
(Francocanadiense), o "-865" (Nórdico). La página de
códigos Windows 1252 (Europa Occidental) también está
soportada con el parámetro "-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.
Never use ISO converion on Unicode text files. It will corrupt UTF-8 encoded
files.
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
Convierte de Unix Latín-1 a la página de códigos por defecto
de DOS.
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 <http://czyborra.com/charsets/codepages.html>
y <http://czyborra.com/charsets/iso8859.html>.
UNICODE¶
Encodings¶
There exist different Unicode encodings. On Unix and Linux Unicode files are
typically encoded in UTF-8 encoding. On Windows Unicode text files can be
encoded in UTF-8, UTF-16, or UTF-16 big endian, but are mostly encoded in
UTF-16 format.
Conversion¶
Unicode text files can have DOS, Unix or Mac line breaks, like regular text
files.
All versions of dos2unix and unix2dos can convert UTF-8 encoded files, because
UTF-8 was designed for backward compatiblity with ASCII.
Dos2unix and unix2dos with Unicode UTF-16 support, can read little and big
endian UTF-16 encoded text files. To see if dos2unix was built with UTF-16
support type "dos2unix -V".
The Windows versions of dos2unix and unix2dos convert UTF-16 encoded files
always to UTF-8 encoded files. Unix versions of dos2unix/unix2dos convert
UTF-16 encoded files to the locale character encoding when it is set to UTF-8.
Use the
locale(1) command to find out what the locale character
encoding is.
Because UTF-8 formatted text files are well supported on both Windows and Unix,
dos2unix and unix2dos have no option to write UTF-16 files. All UTF-16
characters can be encoded in UTF-8. Conversion from UTF-16 to UTF-8 is without
loss. UTF-16 files will be skipped on Unix when the locale character encoding
is not UTF-8, to prevent accidental loss of text. When an UTF-16 to UTF-8
conversion error occurs, for instance when the UTF-16 input file contains an
error, the file will be skipped.
ISO and 7-bit mode conversion do not work on UTF-16 files.
Byte Order Mark¶
On Windows Unicode text files typically have a Byte Order Mark (BOM), because
many Windows programs (including Notepad) add BOMs by default. See also
<
http://en.wikipedia.org/wiki/Byte_order_mark>.
On Unix Unicode files typically don't have a BOM. It is assumed that text files
are encoded in the locale character encoding.
Dos2unix can only detect if a file is in UTF-16 format if the file has a BOM.
When an UTF-16 file doesn't have a BOM, dos2unix will see the file as a binary
file.
Use dos2unix in combination with
iconv(1) to convert an UTF-16 file
without BOM.
Dos2unix never writes a BOM in the output file, unless you use option
"-m".
Unix2dos writes a BOM in the output file when the input file has a BOM, or when
option "-m" is used.
Unicode examples¶
Convert from Windows UTF-16 (with BOM) to Unix UTF-8
dos2unix -n in.txt out.txt
Convert from Windows UTF-16 (without BOM) to Unix UTF-8
iconv -f UTF-16 -t UTF-8 in.txt | dos2unix > out.txt
Convert from Unix UTF-8 to Windows UTF-8 with BOM
unix2dos -m -n in.txt out.txt
Convert from Unix UTF-8 to Windows UTF-16
unix2dos < in.txt | iconv -f UTF-8 -t UTF-16 > out.txt
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
RECURSIVE CONVERSION¶
Use dos2unix in combination with the
find(1) and
xargs(1) commands
to recursively convert text files in a directory tree structure. For instance
to convert all .txt files in the directory tree under the current directory
type:
find . -name *.txt |xargs dos2unix
INTERNACIONALIZACIÓN¶
- 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:
http://www.gnu.org/software/gettext/manual/gettext.html#Language-Codes
<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.
- 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: "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:
http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable
<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.
- 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 "/usr/local/share/locale". El parámetro --version
desplegará el LOCALEDIR en uso.
Ejemplo (intérprete de comandos POSIX):
export DOS2UNIX_LOCALEDIR=$HOME/share/locale
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.
ESTÁNDARES¶
<
http://es.wikipedia.org/wiki/Documento_de_texto>
<
http://es.wikipedia.org/wiki/Retorno_de_carro>
<
http://es.wikipedia.org/wiki/Nueva_l%C3%ADnea>
<
http://es.wikipedia.org/wiki/Unicode>
AUTORES¶
Benjamin Lin - <blin@socs.uts.edu.au> Bernd Johannes Wuebben (modo
mac2unix) - <wuebben@kde.org>, Christian Wurll (añadió el
salto de línea extra) - <wurll@ira.uka.de>, Erwin Waterlander -
<waterlan@xs4all.nl> (Mantenimiento)
Página del proyecto: <
http://waterlan.home.xs4all.nl/dos2unix.html>
Página de SourceForge: <
http://sourceforge.net/projects/dos2unix/>
Freshmeat: <
http://freshmeat.net/projects/dos2unix>
VÉASE TAMBIÉN¶
file(1) find(1) iconv(1) locale(1)
xargs(1)