70 lines
2.6 KiB
Bash
70 lines
2.6 KiB
Bash
|
|
#!/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"
|
||
|
|
|
||
|
|
|