Haciendo del Desarrollo y la Arquitectura Web, ciencia y pasión.

lectura de archivos por shell

 

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:


1. Apertura y lectura de archivos

Usando cat

cat archivo.txt

Muestra el contenido del archivo en la terminal.


Usando 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.

Leyendo el archivo con awk

awk '{print "Línea: " $0}' archivo.txt

Permite manipular y extraer datos fácilmente.


Leyendo el archivo con sed

sed -n 's/foo/bar/p' archivo.txt

Este comando reemplaza "foo" por "bar" y muestra solo las líneas afectadas.


2. Escritura en archivos

Sobrescribir un archivo

echo "Nuevo contenido" > archivo.txt

Borra el contenido anterior y escribe "Nuevo contenido".


Añadir contenido al final del archivo

echo "Otra línea más" >> archivo.txt

Añade la línea sin borrar el contenido anterior.


3. Procesamiento de archivos

Contar líneas, palabras y caracteres

wc archivo.txt

Muestra el número de líneas, palabras y caracteres.


Filtrar líneas con grep

grep "palabra" archivo.txt

Muestra solo las líneas que contienen "palabra".


Reemplazar texto en el archivo

sed -i 's/viejo/nuevo/g' archivo.txt

Reemplaza todas las apariciones de "viejo" por "nuevo" dentro del archivo.


Ejemplo Completo: Procesamiento de un archivo línea por línea

#!/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.