¿Cómo convierto los saltos de línea en un archivo de texto entre los formatos de Windows y Unix / Linux?
Tengo un entorno * nix, pero necesito importar y exportar datos con los saltos de línea de estilo Windows. Pensé que habría una utilidad o comando estándar para hacer esto, pero parece que no puedo encontrarlo.
dos2unix
es waterlan.home.xs4all.nl/dos2unix.html , y también funciona en Windows.dos2unix
/unix2dos
en Mac OS X usando Homebrew . Con Homebrew instalado, el comando esbrew install dos2unix
, que utiliza esta fórmula .Una opción es usar
unix2dos
(ydos2unix
para volver) en la línea de comando.Otra es usar un editor de texto:
Para vi:: configure ff = dos para establecer que las terminaciones de línea sean terminaciones de línea dos.
Para emacs: Cx [ENTRAR] f dos [ENTRAR]
Para su editor basado en GUI favorito (por ejemplo, jedit), le recomiendo consultar el manual o Google.
Por último, si no desea lidiar con un editor de texto y simplemente hacerlo utilizando utilidades más comunes y demás (o no tiene unix2dos instalado):
tr -d '\r' < infile > outfile
ir de Windows -> Unixawk 'sub("$", "\r")' unixfile.txt > winfile.txt
para ir de Unix -> Windows, yatr
que no puede ir de Unix a Windows.fuente
ff
::e ++ff=unix
. Al menos tiene sentido para lados -> unix
conversión.Edítelo en Vim y use el
set fileformat
comando.MS-DOS / Windows (CR + LF se rompe) a * nix (LF solo se rompe)
* nix a MS-DOS / Windows
fuente
hexdump -C
- también confirmado que esto no es pegajoso - se configura porvi
sesiónEsto es lo que uso, similar a Chealion, para convertir Windows a finales de línea Unix:
fuente
Hacer esto con POSIX es complicado:
POSIX Sed no es compatible con
\r
o\15
. Incluso si lo hiciera, la opción en el lugar-i
no es POSIXPOSIX Awk es compatible
\r
y\15
, sin embargo, la-i inplace
opción no es POSIXd2u y dos2unix no son utilidades POSIX , pero ex es
POSIX ex no soporta
\r
,\15
,\n
o\12
Para eliminar retornos de carro:
Para agregar retornos de carro:
fuente