bash - convert - unix crlf
Convertir terminaciones de lĂnea (2)
Algunas opciones:
Usando tr
tr -d ''/15/32'' < windows.txt > unix.txt
O
tr -d ''/r'' < windows.txt > unix.txt
Usando perl
perl -p -e ''s//r$//'' < windows.txt > unix.txt
Usando sed
sed ''s/^M$//'' windows.txt > unix.txt
O
sed ''s//r$//'' windows.txt > unix.txt
Para obtener ^M , debe escribir CTRL-V y luego CTRL-M .
Esta pregunta ya tiene una respuesta aquí:
He estado usando d2u para convertir los finales de línea. Después de instalar Puppy Linux noté que no viene con d2u , sino con dos2unix . Entonces noté que Ubuntu faltaba tanto por defecto.
¿Cuál es otra forma de convertir finales de línea?
Hacer esto con POSIX es complicado:
POSIX Sed no es compatible con
/ro/15. Incluso si lo hizo, la opción in-situ no es POSIXPOSIX Awk admite
/ry/15; sin embargo, la opción-i inplaceno es POSIXd2u y dos2unix no son utilidades POSIX , pero ex
POSIX ex no es compatible con
/r,/15,/no/12
Para eliminar devoluciones de carro:
awk ''BEGIN{RS="^$";ORS="";getline;gsub("/r","");print>ARGV[1]}'' file
Para agregar retornos de carro:
awk ''BEGIN{RS="^$";ORS="";getline;gsub("/n","/r&");print>ARGV[1]}'' file