Código de Linux/Unix Shell Scripting - Script para renombrar archivos reemplazando una parte del nombre del archivo por otra

Imágen de perfil
Val: 44
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Script para renombrar archivos reemplazando una parte del nombre del archivo por otragráfica de visualizaciones


Linux/Unix Shell Scripting

Publicado el 11 de Septiembre del 2014 por Xavi (533 códigos)
6.494 visualizaciones desde el 11 de Septiembre del 2014
Script de bash, que nos permite modificar los nombre de uno o varios archivos comprendidos en una carpeta.
Tiene que recibir la cadena a buscar, la cadena a ser reemplazada si se encuentra, y el archivo o archivos a reemplazar.

Versión 1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 11 de Septiembre del 2014gráfica de visualizaciones de la versión: Versión 1
6.495 visualizaciones desde el 11 de Septiembre del 2014
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#!/bin/sh
 
#
# 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



Comentarios sobre la versión: Versión 1 (1)

NoSeTo Davia
17 de Diciembre del 2014
estrellaestrellaestrellaestrellaestrella
El bucle no sera
for file in $3 en vez de for file in $*?
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s2760