Cambiar con Bash extensión de archivos de forma masiva...

Hace un tiempo atrás elaboré un pequeño script con bash que modifica de alguna forma las extensiones de archivos de texto plano, hoy, pese a una necesidad de cambiar extensiones a cualquier tipo de archivo, lo cambié un poco, acá dejo la nueva versión.

#! /bin/sh

####
# Script para cambiar extensiones de ficheros o archivos
# Noviembre 2010
####

ext1=$1 # Argumento ext1 es la extensión inicial
ext2=$2 # Argumento ext2 es la extensión final

RUTA=$(/bin/pwd)

for i in *
do
if [ -f "$RUTA/$i" ]; then
arg=${i%%.$ext1}
if [ ! -f "$RUTA/$arg" ]; then
arg1=${arg#$i}
mv "$RUTA/$arg1.$ext1" "$RUTA/$arg1.$ext2"
fi
else
echo "$i" > /dev/null
fi
done

exit 0

El script lo llamé chext y lo copié en la ruta /usr/local/bin con sus respectivos privilegios de ejecución para que todos los usuarios que usen el sistema puedan ejecutar el programa, antes de usarlo se debe ubicar el cursor dentro del directorio donde están todos los archivos que se les modificará la extensión, se ejecuta de la siguiente forma:

$ chext html php

Donde html es la extensión actual de los archivos y php es la extensión que quiero dejarle a los archivos.

Saludos.

Comentarios

Entradas populares de este blog

Comandos Solaris

MikroTik QoS Script generator

Comando para eliminar saltos de linea en fichero o archivo desde consola Linux