Tengo un archivo que solo se usa \npara nuevas líneas, pero necesito que lo tenga \r\npara cada nueva línea. ¿Cómo puedo hacer esto?
Por ejemplo, lo resolví en Vim usando :%s/\n/\r\n/g, pero me gustaría usar un script o una aplicación de línea de comandos. ¿Alguna sugerencia?
Intenté buscar esto con sedo grep, pero las soluciones alternativas de la secuencia de escape me confundieron de inmediato (estoy un poco verde con estos comandos).
Si está interesado, la aplicación está relacionada con mi pregunta / respuesta aquí

CRantes de cada LF, solo antes de aquellos LF que no estén precedidos por un (y solo uno) CR.'\r'consedhace el truco.Esto es exactamente lo que
unix2doshace:Eso reemplazará
file.txten el lugar con una versión con terminaciones de línea CRLF.Si desea hacerlo
sed, puede insertar un retorno de carro al final de cada línea:Esto reemplaza (
s) el área de tamaño cero justo antes del final de la línea ($) con\r. Para hacer un reemplazo en el lugar (como lounix2doshace), usesed -i.bak, aunque esa es una extensión no estándar; si no la tiene, use un archivo temporal.fuente
\ren reemplazo no es portátil. Al menos, no funcionará en Mac OSX.u2d,ux2dos,todosordena alrededor también.Si está realizando la conversión en una máquina Unix (OS X, Linux), abra el archivo con
viovim:presione la tecla ESC para asegurarse de que no está en modo de inserción, luego escriba
o
Esto hace la conversión en su lugar al configurar el formato de archivo.
Para escribir el archivo y salir del editor, use
En la línea de comando puedes hacer
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
Una función de shell portátil que hará esto:
Con eso puedes hacer:
fuente
En awk puedes intentar
O
El
$'\r'es un ejemplo de estilo ANSI-C citando como soportado por unos cáscaras comoksh93,bash,zsh,mkshy FreeBSDshy es probable que se incluirán en cuestión 8 de la Single Unix Specification .Ofrece una forma general de expresar caracteres extraños, prueba esto, por ejemplo:
fuente