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 | |
---|---|
Dificultad | Practicable (rss) |
Privilegios de root | No |
Requisitos | Linux, macOS, * BSD o Unix CLI |
Hora | 2m |
Tabla de Contenidos
Eliminar el retorno de carro en Linux o Unix
El procedimiento para eliminar el retorno de carro es el próximo:
- Anconada la aplicación de terminal y luego escriba cualquiera de los siguientes comandos.
- Utilice el sed: sed 's / r $ //' file.txt> out.txt
- Otra opción es tr: tr -d ' r' input.txt> out.txt
- Convertidor de formato de archivo de texto de MS-Windows (DOS) / Mac a Unix / Linux y al revés: archivo de salida dos2unix infile
- 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
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.