BASH – Script para renombrar archivos.-

#!/bin/bash
# script de bash para reemplazar parte del nombre de uno o varios archivos.
#   sh script.sh 2013 2014 log* -> Reemplzara en todos los archivos que empiezan
#                                  log y que contengan el valor 2013 por el 
#                                  valor 2014, quedando por ejemplo el archivo:
#                                  log_201301.log -> log_201401.log
#
# Comprobamos que recibamos tres parametros
if [ $# -lt 3 ] ; then
	echo "usar: $0 [expresion] [reemplazar] archivos..."
	echo
	exit 0
fi
# cogemos los valores recibidos
expresion=$1
reemplazar=$2
shift;shift
# Bucle que pasa por todos los archivos y reemplza utilizando el comando sed
for file in $*
do
	new=`echo ${file} | sed s/${expresion}/${reemplazar}/g`
	if [ "$new" != "$file" ];then
		mv ${file} $new
		echo "Reemplazando ${file} -> $new"
	fi
done
exit 0
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *