Para leer un fichero línea a línea lo más cómodo es utilizar un bucle while con read line. Es decir:
1 2 3 4 |
#!/bin/bash while read linea ; do echo ${linea} done <<< "`cat fichero`" |
En linea se va almacenando en cada iteración la línea del fichero que toque y para que el bucle while sepa de donde obtener los datos ponemos al final del bucle <<< para indicarle que los datos le van a llegar por esa vía, cat fichero
para volcar el contenido del fichero y lo encerramos entre comillas dobles («) para que cada línea la trate como un todo, sin las comillas en cada iteración tomaría una sola palabra del fichero, es decir recorreriamos el fichero de palabra en palabra.