Administrador de Linux: lectura y escritura en archivos

Tanto la lectura como la escritura en archivos en BASH se pueden realizar con los redirectores de entrada y salida. Nos hemos encontrado con cada uno en guiones anteriores.

#!/bin/bash 
myFile = "myLines.txt"

while read -a FILENAME; 
   do
   
   if [ `echo $FILENAME | grep 004` ]; 
      then 
      echo "line was $FILENAME" >> LineFile.txt 
      break 
   fi
   
echo $FILENAME 
done < $myFile

En lugar de hacer eco en la terminal, nuestra rama condicional ahora se hace eco en un archivo llamado LineFile.txt.

La lectura de archivos se ha presentado de dos formas, cat y read .readpor lo general, siempre se considera una mejor práctica. Mientrascatsimplemente pasa los flujos de texto de un archivo. leer implica que el script lee un archivo real y asume la responsabilidad de leer un archivo.

La siguiente secuencia de comandos vuelve a leer el archivo de texto, coloca cada línea en una matriz y luego imprime la matriz en la terminal.

#!/bin/bash 
myFile = "myLines.txt"
line = ()

while read -r FILELINE; 
   do 
   line+=($FILELINE) 
done < $myFile

for i in `seq 0 ${#line[@]}`; 
   do 
   echo $i " -> " ${line[$i]} 
done

A continuación se muestra la salida.

0  ->  line001 
1  ->  line002 
2  ->  line003 
3  ->  line004 
4  ->  line005 
5  ->  line006 
6  ->  line007 
7  ->  line008 
8  ->  line009
9  ->  line010