Saltar al contenido
danielsanjuan

Cuaderno · 14 de noviembre de 2026

Bucles de Bash que uso a menudo

bash

Recorrer ficheros, líneas y rangos sin romperse con espacios.

Por cada fichero (aguanta espacios en los nombres):

for f in *.log; do echo "$f"; done

Por cada línea de un fichero:

while IFS= read -r linea; do echo "$linea"; done < lista.txt

Un rango de IPs, por ejemplo para un ping rápido:

for i in {1..254}; do ping -c1 -W1 192.168.1.$i >/dev/null && echo "192.168.1.$i responde" & done; wait

Reintentar un comando hasta que funcione (máximo 5 veces):

for n in {1..5}; do comando && break; echo "intento $n falló"; sleep $((n*2)); done

← Todas las notas