En Shell Script, puedes manejar archivos de varias maneras, como abrir, leer, escribir y procesarlos línea por línea. Aquí te explico los métodos más comunes:
cat
cat archivo.txt
Muestra el contenido del archivo en la terminal.
while read
(Recomendado para procesar línea por línea)while IFS= read -r linea; do
echo "Línea: $linea"
done < archivo.txt
IFS=
evita problemas con espacios en blanco al inicio o final.read -r
impide que las barras invertidas (\
) se interpreten como caracteres de escape.awk
awk '{print "Línea: " $0}' archivo.txt
Permite manipular y extraer datos fácilmente.
sed
sed -n 's/foo/bar/p' archivo.txt
Este comando reemplaza "foo" por "bar" y muestra solo las líneas afectadas.
echo "Nuevo contenido" > archivo.txt
Borra el contenido anterior y escribe "Nuevo contenido".
echo "Otra línea más" >> archivo.txt
Añade la línea sin borrar el contenido anterior.
wc archivo.txt
Muestra el número de líneas, palabras y caracteres.
grep
grep "palabra" archivo.txt
Muestra solo las líneas que contienen "palabra".
sed -i 's/viejo/nuevo/g' archivo.txt
Reemplaza todas las apariciones de "viejo" por "nuevo" dentro del archivo.
#!/bin/bash
archivo="datos.txt"
while IFS= read -r linea; do
echo "Procesando: $linea"
# Aquí puedes hacer más operaciones con cada línea
done < "$archivo"
Este script lee un archivo (datos.txt
) y procesa cada línea.