Buscar aquí

26 junio 2016

Agregar texto/renombrar/mover muchos archivos en un directorio

Muchas veces para generar versiones o comparaciones, necesitamos renombrar, mover o agregar texto al nombre del archivo, se pensaría que es algo simple y lo es... con unos pocos detalles entre medio :) , por ejemplo, necesito concentrar los logs de dos servidores, y obviamente el nombre es el mismo y por ello necesito diferenciarlos, entonces existe:

server.log.* desde servidor 1 y server.log.* desde el servidor 2

Entonces, primero obtengo los archivos desde el servidor 1 y ejecuto:

for archivo in *; do mv -v $archivo "$archivo.srv1"; done

y listo... recordar el -v en mv es verboso para mostrar la operación.

despues se copia desde el otro servidor y se ejecuta el comando cambiando srv1 por srv2 y listo!!

y si se renombraron archivos que no se debía?... bueno... se puede reversar "fácil"

 for ar in *.awk.wfm1 ;do mv $ar "`echo $ar | sed 's/\.wfm1//'`"; done

aqui se renombraron algunos script awk como awk.wfm1 pero en realidad no debía ser así... entonces se quitó el .wmf1 desde el nombre :)



No hay comentarios.:

Publicar un comentario