Usando StringSolver herramientas (Windows & Linux Bash), procedimiento que por ejemplos:
filter fghfilea ok fghreport ok notfghfile notok; mv --all --filter fghfilea jklfilea
En primer lugar, calcula un filtro basado en ejemplos , donde la entrada es los nombres de archivo y la salida (ok y notok, cadenas arbitrarias). Si el filtro tuviera la opción --auto o se invocara solo después de este comando, crearía una carpeta ok
y una carpeta notok
y les insertaría archivos respectivamente.
Luego usando el filtro, el comando mv
es un movimiento semiautomático que se convierte en automático con el modificador --auto. Usando el filtro anterior gracias a --filter, encuentra una asignación de fghfilea
a jklfilea
y luego lo aplica a todos los archivos filtrados.
Otras soluciones de una sola línea
Otras formas equivalentes de hacer lo mismo (cada línea es equivalente), para que pueda elegir su manera preferida de hacerlo.
filter fghfilea ok fghreport ok notfghfile notok; mv --filter fghfilea jklfilea; mv
filter fghfilea ok fghreport ok notfghfile notok; auto --all --filter fghfilea "mv fghfilea jklfilea"
# Even better, automatically infers the file name
filter fghfilea ok fghreport ok notfghfile notok; auto --all --filter "mv fghfilea jklfilea"
multi-paso de la solución
Para encontrar cuidadosamente si los comandos están funcionando bien, puede escribir lo siguiente:
filter fghfilea ok
filter fghfileb ok
filter fghfileb notok
y cuando se tiene la certeza de que el filtro es bueno , realiza el primer movimiento:
mv fghfilea jklfilea
Si desea probar y usar el filtro anterior, escriba:
mv --test --filter
Si la transformación no es lo que quería (por ejemplo, incluso con mv --explain
se ve que algo está mal), puede escribir mv --clear
para reiniciar mover archivos, o añadir más ejemplos mv input1 input2
donde INPUT1 y INPUT2 son otros ejemplos
Cuando esté seguro, sólo tiene que escribir
mv --filter
¡y voilá! Todo el cambio de nombre se hace usando el filtro.
DESCARGO DE RESPONSABILIDAD: Yo soy coautor de este trabajo hecho con fines académicos. También podría haber una función de producción de bashs pronto.
cheque aquí: http: // theunixshell.blogspot.com/2013/01/bulk-renaming-of-files-in-unix.html – Vijay
Pregunta relacionada: [Mejor manera de cambiar el nombre de los archivos en función de varios patrones] (http://stackoverflow.com/a/25597051/2654678). –