Busco un comando de terminal para renombrar

Hola.

Lo cierto es que debido a fallos de compatibilidad y de utilidad en nombres de archivos gigantescos me veo obligado a renombrar un buena cantidad de ellos. Dado que la información prescindible del título de los archivos está entre corchetes, sabéis de algún comando de terminal que pueda eliminar lo que hay entre corchetes en todos los archivos de una carpeta dada?

me refiero a que si un archivo se llama [2008]Apuntes[corregidos][2-cuatrimestre]matematicas[lol].doc me lo renombre a Apuntesmatematicas.doc, y así con todos los de la carpeta.

Espero que se pueda hacer con el terminal y no con un script.

Un saludo y gracias por adelantado
porque no puede ser un script?
Un script no deja de ser una serie de comandos ejecutados de forma secuencial. Si pretendes hacer eso con una sola línea...pues sería cosa de buscar un script que ya esté hecho XD.
No quería un script porque no se hacerlos (tarea pendiente). El comando rename pues el man me dice que antes debo aprender perl. Suponía que podría ser un comando fácil a base de asteriscos y cosas así, pero es que no tengo ni papa, y los ejemplos del man rename tampoco los entiendo. Pensaba que había un comando rápido o facil de usar pero he visto que no XD

Lo cierto es que, me he acordado de la potencia de linux, los repositorios y demás pesca y...bueno, he buscado "rename" en synaptic y me han salido varios, he instalado pyRenamer y ya he acabado. Por estas cosas me gusta linux. Si usara windows todavía estaba instalando programas versiones de prueba o metiendome más mierda en forma de adware y tal.

Que por cierto, que bien funciona el pyRenamer, lo recomiendo. Incluso puedo cambiar de orden los datos de los archivos. Menos mal que no aprendí perl XD

Un saludo y gracias
¿Renombrar? Yo tengo instalado en mi sistema rename, que es un script que trae el propio perl y sirve para lo que quieres. Es probable que tengas instalado perl, así que es probable que lo tengas instalado. Lo que sí hay que saber es usar expresiones regulares, que más vale que aprendas antes que después porque te las vas a acabar encontrando. De hecho, ya te las encontrado.

Por esta vez te hago los deberes:

rename -v 's/\[[^\]]*\]//g' *\[*


En el directorio donde tengas los ficheros.
Yo antes usaba un programa llamado Metamorphose para este tipo de cosas, y recuerdo que iba bastante bien.
auxiliar escribió:¿Renombrar? Yo tengo instalado en mi sistema rename, que es un script que trae el propio perl y sirve para lo que quieres. Es probable que tengas instalado perl, así que es probable que lo tengas instalado. Lo que sí hay que saber es usar expresiones regulares, que más vale que aprendas antes que después porque te las vas a acabar encontrando. De hecho, ya te las encontrado.

Por esta vez te hago los deberes:

rename -v 's/\[[^\]]*\]//g' *\[*


En el directorio donde tengas los ficheros.



Claro, si el rename lo tengo y el perl tambien, pero efecivamente voya ver si aprendo perl, aunque por ahora seria solo para esto XD

Tomo nota del programa, pero ya digo que e pyrenamer (que dice que instala tambien el renamer, será una gui a secas).
Por lo pronto a descifrar el comando de auxiliar, por algo se empieza
Buenas, para renombrar un archivo es tan sencillo como $mv archivo_origen archivo_destino
no se si sera eso lo que quieres hacer o no te e entendido y me e colado yo.
un saludo
carlosyeah escribió:Claro, si el rename lo tengo y el perl tambien, pero efecivamente voya ver si aprendo perl, aunque por ahora seria solo para esto XD


Con que aprendas sobre expresiones regulares te será más que de sobra :P

Salu2!
carlosyeah escribió:
auxiliar escribió:Claro, si el rename lo tengo y el perl tambien, pero efecivamente voya ver si aprendo perl, aunque por ahora seria solo para esto XD


No, esto que he puesto yo no es saber perl, es saber usar expresiones regulares, que trae perl, pero también se pueden usar en python o incluso en la shell de linux mediante sed. Es bastante úitl y te sacará de muchas en muchos momentos. Hay bastantes tutoriales por internet.
9 respuestas