martes, 12 de noviembre de 2013

Linux: script para renombrar archivos en lote asignando un número de serie


Actualización: hice una actualización del script para subsanar el inconveniente con los nombres de archivos con espacio, por favor úsese bajo su propia responsabilidad, disculpen las molestias.

Cuidado! si vamos a renombrar archivos con el mismo nombre se van a destruir esta acción no es reversible

es muy frecuente que tengamos un directorio plagado de archivos, que queremos renombrar en masa, esto se puede hacer con el comando rename pero si queremos renombrar y agregar un nro. de serie a cada archivo renombrado ahí se complica un poco, por lo cual hay que recurrir a un script en bash (Leí por ahí que existe un comando MVB que hay que descargar, pero no quiero instalar nada sino hacerlo con los comandos que estan en el sistema).

#!/bin/bash
########################################################
# Renombra archivos en lote y coloca nro. de serie
# Creado por Daniel Martín [ mar 12 nov 2013 ]
# licencia GNU GPL 2.0
# versión 1.0.0
# https://www.facebook.com/tallerdescripts
########################################################
# actualización viernes 21 de febrero de 2014
# IFS corrige el problema con los espacios en nombres de archivo
IFS=$(echo -en "\n\b");
for directorio in $(ls *.txt)
do
 let ARCH=ARCH+1 
mv $directorio nuevo-$ARCH.txt
done
Reacciones:

0 comentarios: