Categories: No Index

Bash: leer fichero linea por linea

Aunque es una tontería, hoy me volvi loco porque tenía que hacer un script en bash que parseara un archivo linea por linea. El problema que tenia era que cada linea tenia palabras y estas estaban separadas por espacios en blanco. Entonces al hacer un bucle for me ponía una palabra por linea, es decir si el archivo tenia este contenido:

Esto es una linea
Esto es otra
Y esta es la ultima

for line in $(cat fichero_lineas.txt); do echo «$linea» ; done

Esto
es
una
linea
Esto
es
otra
Y
esta
es
la
ultima

Encontré dos soluciones:

Una es usar un blucle while e ir leyendo línea por línea con read.

#!/bin/bash

while read linea; do
echo $linea
done < $1

La otra es cambiar el valor de la variable IFS, que es el separador de campo. Por ejemplo IFS=’\n’ que es el retorno de carro.

IFS=’\n’
for i in $(cat $1)
do
echo $i
done

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

Share
Published by
root

Recent Posts

Las ventajas de comprar moda en línea

En los últimos años, el comportamiento del consumidor hacia las compras online ha experimentado un…

2 años ago

Barra de tareas no se oculta y aparece en pantalla completa Windows 10.

Es cierto que la barra de herramientas es muy útil para buscar las tareas principales…

4 años ago

Cuáles son las mejores aplicaciones para Android con root

Cada día que pasa nacen nuevas Apps. Algunas son bastante innecesarias y no siempre están…

4 años ago

Cómo instalar y configurar Kodi para Android fácilmente

Entre las múltiples tareas que podemos hacer con nuestro Smartphone o Tablet Android. Se ha…

4 años ago

Todos los métodos para hacer una captura de pantalla en Windows 10

Seguramente recuerdes el método para capturar la pantalla que todos alguna vez hemos utilizado. Si…

4 años ago

Cómo activar Chrome Flags, las funciones ocultas de Chrome

El navegador Google Chrome es uno de lo más utilizados a día de hoy. Ya…

4 años ago