Tengo un scrip que me mueve la series a la carpeta de la serie, pero estoy intentando hacer uno que me cree las carpetas de las temporadas si hay algun archivo de esa temporada, es decir algo como esto escrito en algo parecido a java pero en consola si es posible
int tmp = 1; if (tmp < 20){ if exist T+tmp; else if exist{ "*"+tmp"x[0-99]; mkdir T+tmp; } tmp+1; }
JdR escribió:Tengo un scrip que me mueve la series a la carpeta de la serie, pero estoy intentando hacer uno que me cree las carpetas de las temporadas si hay algun archivo de esa temporada, es decir algo como esto escrito en algo parecido a java pero en consola si es posible
int tmp = 1; if (tmp < 20){ if exist T+tmp; else if exist{ "*"+tmp"x[0-99]; mkdir T+tmp; } tmp+1; }
Como sabes de que serie/temporada es cada archivo? por el nombre? Ej : Tralara 1X19.avi
JdR
Quo
1.897 mensajes desde ago 2003 en Estoy desorientado
Depende un poco de cuál sea el formato de los nombres. Yo he supuesto que el número de la temporada está al final del nombre, justo antes de la extensión. Si no es así, habría que cambiar la variable pattern que contiene la expresión regular:
#!/bin/sh
pattern=".*[^0-9]([0-9]+)\.[^.]+"
for f in *; do temp=`echo "$f" | sed -nr "s:$pattern:\1:p"` [ "$temp" ] || continue dir=Temporada$temp mkdir -p $dir mv "$f" $dir done
El script es lo más básico que se despacha: hay que ejecutarlo en el directorio en el que están las series y cuando hay un fichero que no se ajusta al patrón, no hace nada con él.
Por cierto, el sed usa una extensión GNU. Se podría cambiar para que no lo hiciese, pero si usas linux es el que vas a tener instalado.
JdR
Quo
1.897 mensajes desde ago 2003 en Estoy desorientado