Saltar al contenido

¿Cómo agregar un retorno de carro antes de cada nueva línea?

Por fin después de mucho batallar hemos encontrado el resultado de este rompecabezas que algunos los usuarios de este sitio han presentado. Si tienes alguna información que compartir puedes aportar tu información.

Solución:

Puede usar unix2dos (que se encuentra en Debian):

unix2dos file

Tenga en cuenta que esta implementación no insertará un CR antes de cada LFsolo antes de esos LFs que aún no están precedidos por uno (y solo uno) CR y omitirá los archivos binarios (aquellos que contienen valores de bytes en el rango 0x0 -> 0x1f que no sea LF, FF, TAB o CR).

o usar sed:

CR=$(printf 'r')
sed "s/$/$CR/" file

o usar awk:

awk 'printf "%srn", $0' file

o:

awk -v ORS='rn' 1 file

o usar perl:

perl -pe 's|n|rn|' file

Esto es exactamente lo que unix2dos lo hace:

$ unix2dos file.txt

Eso reemplazará file.txt en el lugar con una versión con terminaciones de línea CRLF.

Si quieres hacerlo con sedpuede insertar un retorno de carro al final de cada línea:

sed -e 's/$/r/' file.txt

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 unix2dos hace), uso sed -i.bakaunque esa es una extensión no estándar; si no la tiene, use un archivo temporal.

Hacer esto con POSIX es complicado:

  • POSIX Sed no es compatible r o 15. Incluso si lo hiciera, la opción en el lugar -i no es posix

  • POSIX Awk es compatible r y 15sin embargo, el -i inplace la opción no es POSIX

  • d2u y dos2unix no son utilidades POSIX, pero ex es

  • POSIX ex no es compatible r, 15, n o 12

Para eliminar los retornos de carro:

awk 'BEGINRS="1";ORS="";getline;gsub("r","");print>ARGV[1]' file

Para agregar retornos de carro:

awk 'BEGINRS="1";ORS="";getline;gsub("n","r&");print>ARGV[1]' file

Si posees alguna perplejidad o forma de modernizar nuestro tutorial te mencionamos realizar una explicación y con deseo lo leeremos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *