Eliminar saltos de linea en ficheros linux
Veamos el código necesario para poder eliminar los saltos de linea de un fichero linux. De un fichero con texto que contiene saltos de linea, crearemos otro fichero que tendrá el texto sin saltos y todo seguido.
Imaginad que tenemos el siguiente texto en un fichero llamado fichero-entrada.txt :
Hola esto está en la primera linea esto está en la segunda linea esto en la tercera
Como podéis ver, tenemos el texto en cuatro lineas, y aunque no lo veamos, al final de cada una de ellas, Linux pone lo que simboliza el final de linea: \n\t.
Pero lo que queremos, es tenerlo todo en una sola linea, eliminando todos los saltos de linea. Y eso grabarlo en otro fichero llamado fichero-salida.txt
Hola esto está en la primera linea esto está en la segunda linea esto en la tercera
En definitiva, lo que tenemos que hacer, es sustituir/eliminar todos los \n\t del fichero. De esta manera, tendremos el texto todo seguido. Para hacer esto, deberemos trabajar en consola con la siguiente orden:
tr -d "\n\r" < fichero-entrada.txt > fichero-salida.txt
Hay otras opciones, pero en Linux es una de las maneras más sencillas que tenemos para eliminar saltos de linea en ficheros linux.
Todos los ficheros de una carpeta
Hemos visto cómo hacerlo en un fichero. Veamos cómo hacerlo para todos los ficheros de una carpeta. Para ello, deberemos crear un script en la misma carpeta con el siguiente contenido:
html2txt.sh
#!/bin/bash
for mifichero in $(ls -C1)
do
tr -d "\n\r" < $mifichero > $mifichero.txt
done
Al script hay que darle permisos de ejecución:
chmod +x html2txt.sh
Y para ejecutarlo, vamos por consola a la carpeta y ejecutamos:
./html2txt.sh
Esto hará que se creen tantos txt como ficheros hayan, con el mismo nombre, pero sin los saltos de linea.
Si quieres ver más artículos como este, visitad nuestra sección de tutoriales de Linux. Verás cómo cambiar ficheros permisos en Linux o conocer Flatpak el gestor de paquetes Linux.
Más información