Tutoriales

Cómo eliminar el retorno de carro en Linux o Unix

H¿Cómo elimino todos los retornos de carro? r (^ M) desde un archivo en Unix usando las opciones de la carrera de comandos?

Un retorno de carro no es más que un carácter de control utilizado para restablecer la posición de un dispositivo al principio de una carrera de texto. En otras palabras, cada vez que golpeas el [Enter] esencia, genera retorno de carro. Es un concepto de nueva carrera. Tenga en cuenta que en ASCII y Unicode, el retorno de carro se define como 13. Por lo que puede verlo como control + M (^ M). En la C y especialmente en Linux / macOS o un sistema similar a Unix, lo veremos como r. En archivos de texto DOS / Windows, un brinco de carrera es una combinación de dos caracteres: un retorno de carro (CR) seguido de un brinco de carrera (LF). En los archivos de texto Unix / Linux / macOS, un brinco de carrera es un solo carácter: el brinco de carrera (LF). Esta página explica cómo eliminar el retorno de carro y modernizar el archivo fácilmente.

Detalles del tutorial
DificultadPracticable (rss)
Privilegios de rootNo
RequisitosLinux, macOS, * BSD o Unix CLI
Hora2m

Eliminar el retorno de carro en Linux o Unix

El procedimiento para eliminar el retorno de carro es el próximo:

  1. Anconada la aplicación de terminal y luego escriba cualquiera de los siguientes comandos.
  2. Utilice el sed: sed 's / r $ //' file.txt> out.txt
  3. Otra opción es tr: tr -d ' r' input.txt> out.txt
  4. Convertidor de formato de archivo de texto de MS-Windows (DOS) / Mac a Unix / Linux y al revés: archivo de salida dos2unix infile
  5. Verifique que el retorno de carro se haya eliminado o convertido en Linux / Unix:
    salida od -c
    O
    cat -v nombre de archivo

Veamos todos los comandos y ejemplos en detalle.

Visualización del retorno de carro en Linux o Unix

La sintaxis es la próximo:
cat -v input.txt
od -c /path/to/file.php

El comando cat imprime caracteres no imprimibles como ^ y METRO- notación, a excepción de LFD y TAB. Para ver LFD y TAB advenir el -T:
cat -T filename
Usamos el comando od para volcar archivos en formato octal y otros formatos en pantalla. Pasa el -C para ver caracteres imprimibles o escapes de mostrador invertida en la pantalla:
od -c input
cat file | od -c

Los editores de texto modernos como vim igualmente pueden mostrar el retorno de carro:
vim filename

Eliminar el retorno de carro con el sed en Linux / Unix / macOS

La sintaxis es:

sed 's/r$//' file.txt > out.txt
sed "s/$(printf 'r')$//" file.php > out.file.php && mv out.file.php file.php

El comando Sed tiene una opción para realizar una aggiornamento de archivo almacén para GNU / sed y BSD / sed en macOS. Luego, la sintaxis es:

sed -i sed 's/r$//' input
cat -v input
# macos/bsd need file ext # 
sed -i'.BAKUP' input.file
cat -v input.file

Conversor de formato de archivo de texto de DOS / Mac a Unix y al revés

Primero instale el convertidor de formato de archivo de texto dos2unix usando el comando apt / apt / get en su caja de Ubuntu / Debian:
sudo apt install dos2unix
Los usuarios de RHEL / CentOS / Fedora Linux prueban:
sudo yum install dos2unix # <-- RHEL/CentOS 7.x
sudo dnf install dos2unix # <-- Fedora latest/RHEL/CentOS 8.x

Ahora utilícelo de la próximo guisa:
dos2unix input output
cat -v output
od -c output

Utilizando la tr comando bajo Unix o Linux

Podemos convertir saltos de carrera en un archivo de texto de formato Unix (brinco de carrera) al formato DOS (retorno de carro + brinco de carrera) y al revés:

cat input | tr -d 'r' > output
tr -d 'r' < input > output
cat -v output
od -c output

Una nota sobre perl

Perl es otro método para eliminar todos los retornos de carro r de un archivo en sistemas Unix o Linux. La sintaxis es:

perl -i -p -e 's/r//g' my_file
cat -v my_file
od -v my_file

comando col

El comando col filtra los avances de carrera alrededor de detrás (y la porción alrededor de detrás) para que la salida esté en el orden correcto con solo avances de carrera alrededor de delante y alrededor de delante y reemplaza los caracteres de espacio en blanco con tabulaciones cuando sea posible. Podemos advenir el -B y dile al columna no originar ningún retroceso, imprimiendo solo el posterior carácter escrito en cada posición de columna como sigue:

col -b < input_file > output_file
cat -v output_file
od -c output_file

Eliminar el retorno de carro en Linux o Unix usando las opciones de CLI

Conversión de archivos a abundante

En el directorio presente, intente sed de la próximo guisa con la ayuda de bash for loop:

for f in *.php
do
  sed -i'-backup.php' 's/r$//' "$f"
done

En este ejemplo final, busque todos los archivos PHP en el directorio / app /, incluidas las subcarpetas, y ejecute el comando sed en él de la próximo guisa:

find /app/ -type f -iname "*.php" -print0 
| xargs -I {} -0 sed -i'-backup.php' 's/r$//' "{}"

Conclusión

Aprendió cómo eliminar o eliminar el retorno de carro ( r) bajo Linux y un sistema similar a Unix usando varios comandos.

Publicaciones relacionadas

Deja una respuesta

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

Botón volver arriba