Tengo un servidor de medios con una carpeta llamada Series
. ( /media/Expansion2/Series/
)
En ella tengo (¡sorpresa!) Series de televisión. Estos son solo los nombres para mostrar, por ejemplo,/media/Expansion2/Series/The Big Bang Theory/
Dentro de la carpeta de cada programa (y aquí es donde radica el problema) tengo carpetas de temporada. Actualmente tengo una mezcla de las siguientes 2 convenciones (junto con algunas más, probablemente):
/media/Expansion2/Series/The Big Bang Theory/The Big Bang Theory Season 1
/media/Expansion2/Series/The Big Bang Theory/Season 2
Al final, quiero cambiar el nombre de todas las carpetas a solo Season #
.
Como expresión regular, probablemente diría algo como s/.*(Season \d)/$1
Solo aplicable a carpetas, no a archivos. Probablemente también debería mencionar que esto es para más de 50 subcarpetas de espectáculos, por lo que debe comenzar en el /media/Expansion2/Series/
nivel y analizar cada serie :)
fuente
rename
en Debian . En Ubuntu (y algunos sabores), para evitar conflictos de nombres con el comando estándar mencionado anteriormente , a veces (pero no siempre) se encuentra debajo . Aquí en Lubuntu, la herramienta en sí se llama pero puede llamarse debido a la cadena de enlace simbólico , donde hay una versión ligeramente modificada de .rename
prename
prename
rename
/usr/bin/rename -> /etc/alternatives/rename -> /usr/bin/file-rename
file-rename
prename
El siguiente fragmento de tiras de cualquier cosa que se produce antes de la última aparición de
Season [0-9]
en cada directorio muestran debajo/media/Expansion2/Series
. No son necesarias expresiones regulares, solo globos.fuente
Si prefieres jugar a lo seguro y solo cambia el nombre
some show/some show stuff
asome show/stuff
:Si quieres quitar todo antes
Season
:${var#PATTERN}
tiras PATTERN al principio de$var
y devuelve el resultado.${var%PATTERN}
hace lo mismo al final.${var#PATTERN}
y${var%PATTERN}
elimine el prefijo y sufijo de coincidencia más cortos respectivamente;${var##PATTERN}
y${var%%PATTERN}
eliminar la coincidencia más larga.fuente
Voy a publicar dos soluciones más con la esperanza de que puedan ser útiles en el futuro. Estos vinieron de los administradores de Linux en el trabajo. ¡Solo muestra cuántos martillos funcionarán en este clavo!
Solución 1:
Solución 2:
fuente