Sí, una de las formas de hacerlo en Automatizador es mediante el uso de un Ejecutar Shell script acción con el ejemplo bash script código que se muestra más abajo.
Puede crear un Automatizador Flujo de trabajo o Servicio/Acción Rápida el flujo de trabajo.
Si hace sólo un Flujo de trabajo entonces tendrá que añadir un Archivos y carpetas acción Por ejemplo Obtenga los artículos seleccionados del buscador o Obtener los elementos del buscador especificados y, a continuación, añadir un Ejecutar Shell script acción .
Si hace un Servicio/Acción Rápida entonces sólo se necesita un Ejecutar Shell script acción .
Si elige un Servicio/Acción Rápida y luego configurarlo para usar archivos y carpetas en Buscador .
Para el Ejecutar Shell script acción , tienen su ajustes configurado como:
- Shell:
/bin/bash
- Pase de entrada: como argumentos
- Sustituir el código por defecto de la Ejecutar Shell script acción con el ejemplo bash script código .
El ejemplo bash script código utiliza expansión de los parámetros de la cáscara para cortar el nombre de ruta completamente calificado del archivo(s) que se le pasó en las piezas necesarias y luego cambia el nombre de el/los archivo(s) utilizando el mv
comando con el -n
opción que no sobrescribirá un archivo existente, basándose en el valores de los trozos de nombre de ruta completamente calificado .
Como codificado utiliza un regex para actuar sólo en archivos que comienza con dos dígitos , seguido de un dash , seguido de dos dígitos , seguido de un dash , seguido de dos dígitos , seguido de un espacio , seguido de caracteres adicionales y un extensión del archivo Por ejemplo: 20-10-03 Pruebas.zip
Ejemplo bash script código :
# f = fully qualified pathname
# d = directory pathname
# fn = filename with extension
# n = filename without extension
# e = filename extension
# p = filename prefix e.g. '20-10-03'
# s = filename suffix (filename without prefix, space, and extension)
for f in "$@"
do
[ -f "${f}" ] || continue
d="${f%/*}"
fn="${f##*/}"
[[ ${fn} =~ ^[0-9]{2}-[0-9]{2}-[0-9]{2}[[:space:]].*\..* ]] || continue
n="${fn%.*}"
e="${fn##*.}"
p="${n%${n#????????}}"
s="${n:9}"
[ -n "${s}" ] || continue
mv -n "${f}" "${d}/${s} ${p}.${e}"
done
La salida de la cual sería, por ejemplo: Pruebas 20-10-03.zip
Nota: El <em>ejemplo </em><strong>bash script </strong><em>código </em>es sólo eso y no contiene ningún otro <em>tratamiento de errores </em>según corresponda. Corresponde al usuario añadir cualquier <em>tratamiento de errores </em>como sea apropiado, necesario o deseado.