1: #!/bin/bash
2:
3: for i in $(cat file.txt)
4: do
5: echo $i
6: done
La solución consiste en utilizar un bucle “while” de la siguiente manera:
1: #!/bin/bash
2:
3: while read linea
4: do
5: echo -e $linea
6: done < fichero
Es mucho más simple que usar el bucle “for”.
También es posible utilizar el bucle “for” para leer un fichero cambiando el separador de campo interno (IFS).
1: #!/bin/bash
2:
3: #Almacenamos el valor original de la variable IFS
4: oldIFS=$IFS
5:
6: #Cambiamos el valor del IFS
7: IFS=$'\n'
8:
9: for line in $(cat file.txt)
10: do
11: echo $line
12: done
13:
14: #Restauramos el IFS
15: IFS=$oldIFS
El resultado de esta ejecución es la salida en pantalla de cada una de las líneas del fichero.
No hay comentarios:
Publicar un comentario