¿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.

dos2unixes waterlan.home.xs4all.nl/dos2unix.html , y también funciona en Windows.dos2unix/unix2dosen Mac OS X usando Homebrew . Con Homebrew instalado, el comando esbrew install dos2unix, que utiliza esta fórmula .Una opción es usar
unix2dos(ydos2unixpara 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 > outfileir de Windows -> Unixawk 'sub("$", "\r")' unixfile.txt > winfile.txtpara ir de Unix -> Windows, yatrque no puede ir de Unix a Windows.fuente
ff::e ++ff=unix. Al menos tiene sentido para lados -> unixconversión.Edítelo en Vim y use el
set fileformatcomando.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 porvisesió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
\ro\15. Incluso si lo hiciera, la opción en el lugar-ino es POSIXPOSIX Awk es compatible
\ry\15, sin embargo, la-i inplaceopción no es POSIXd2u y dos2unix no son utilidades POSIX , pero ex es
POSIX ex no soporta
\r,\15,\no\12Para eliminar retornos de carro:
Para agregar retornos de carro:
fuente