#!/bin/bash # Script para renombrar archivos con espacios en nombres # Actualiza también las referencias en el código set -e echo "🔤 Renombrando archivos con espacios..." # Función para limpiar nombre (sin caracteres especiales problemáticos) clean_name() { echo "$1" | tr '[:upper:]' '[:lower:]' | tr ' ' '-' | sed 's/[^a-z0-9-._]//g' | sed 's/--*/-/g' | sed 's/^-\|-$//g' } # Renombrar archivos en public/assets find public/assets -type f -name "* *" | while read -r old_path; do dir=$(dirname "$old_path") old_name=$(basename "$old_path") extension="${old_name##*.}" name_without_ext="${old_name%.*}" new_name=$(clean_name "$name_without_ext") new_name="${new_name}.${extension}" new_path="${dir}/${new_name}" if [ "$old_path" != "$new_path" ] && [ -f "$old_path" ]; then echo " 📝 Renombrando: $old_name -> $new_name" mv "$old_path" "$new_path" 2>/dev/null || { echo " ⚠️ Error: no se pudo renombrar $old_path" } # Actualizar referencias en código old_relative="/assets/$(echo "$old_path" | sed 's|public||')" new_relative="/assets/$(echo "$new_path" | sed 's|public||')" echo " 🔍 Buscando referencias a: $old_relative" # Actualizar en archivos TypeScript/JavaScript/JSON find src -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.json" \) -exec sed -i "s|${old_relative}|${new_relative}|g" {} + 2>/dev/null || true fi done # Renombrar archivos SVG con mayúsculas (pero mantener extensión .svg) find public/assets -type f -name "*.SVG" -o -name "*[A-Z]*.svg" | while read -r old_path; do dir=$(dirname "$old_path") old_name=$(basename "$old_path") # Convertir a minúsculas pero mantener .svg new_name=$(echo "$old_name" | tr '[:upper:]' '[:lower:]' | tr ' ' '-') new_path="${dir}/${new_name}" if [ "$old_path" != "$new_path" ] && [ -f "$old_path" ]; then echo " 📝 Renombrando: $old_name -> $new_name" mv "$old_path" "$new_path" 2>/dev/null || { echo " ⚠️ Error: no se pudo renombrar $old_path" } # Actualizar referencias old_relative="/assets/$(echo "$old_path" | sed 's|public||')" new_relative="/assets/$(echo "$new_path" | sed 's|public||')" echo " 🔍 Actualizando referencias..." find src -type f \( -name "*.ts" -o -name "*.tsx" -o -name "*.js" -o -name "*.json" \) -exec sed -i "s|${old_relative}|${new_relative}|g" {} + 2>/dev/null || true fi done echo "" echo "✅ Renombrado completado" echo "⚠️ Verifica que las referencias se actualizaron correctamente revisando los archivos modificados"