Renombrado masivo de extensiones

En este artículo técnico de jesusninoc.com, te mostramos cómo modifica la extensión de múltiples archivos de forma masiva en el directorio actual utilizando un script corto en Bash de forma nativa en Linux.

Código del Script (Bash)

#!/bin/bash
# Uso: ./script.sh txt log

ORIGEN=$1
DESTINO=$2

if [ -z "$ORIGEN" ] || [ -z "$DESTINO" ]; then
    echo "Uso: $0 [ext_origen] [ext_destino]"
    exit 1
fi

for f in *."$ORIGEN"; do
    [ -e "$f" ] || continue

    mv "$f" "${f%.$ORIGEN}.$DESTINO"

    echo "Renombrado: $f -> ${f%.$ORIGEN}.$DESTINO"
done

Explicación detallada del funcionamiento

Itera sobre los archivos correspondientes en el directorio actual, valida su existencia ante globs vacíos y usa expansión de parámetros de Bash para sustituir la extensión de forma segura.

Análisis de Seguridad y Buenas Prácticas

🔒 Recomendaciones del Agente de Seguridad:

Puede sobrescribir archivos de destino existentes sin preguntar. Se aconseja añadir la opción -n a mv para prevenir pérdida de datos accidental.