1: #!/bin/bash 2: 3: for i in $(cat file.txt)
4: do
5: echo $i 6: doneLa 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 < ficheroEs 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 IFS7: IFS=$'\n'
8: 9: for line in $(cat file.txt)
10: do
11: echo $line 12: done 13: 14: #Restauramos el IFS 15: IFS=$oldIFSEl 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