Estoy usando Etiqueta y Hazel y me gustaría ir recursivamente a través de los archivos en nuestro servidor, obtener sus rutas de acceso y nombres de archivo y analizar todo el asunto en etiquetas para aplicar al archivo. ¿Hay un shell script que pueda hacer esto? Puedo usar Leap de Ironic Software para eliminar las etiquetas de la basura en todo el sistema, pero esto me da un comienzo real en un sistema de etiquetado automático para todos mis archivos.
Básicamente voy a tomar un nombre de archivo como
/Volúmenes/medios de comunicación/Clientela/Stock/Conjuntos comprados/Vintage Bundle/vintage-bundle-7/offset/30_CIRCULAR_VECTOR_TEXTURES/C03.eps
Truncar el /Volumes/media/Clientele/Stock/
de la parte superior, y la extensión del archivo .eps
desde el final, entonces cut
el resto en etiquetas separadas:
- Sets comprados
- Paquete Vintage
- vintage
- paquete
- 7
- offset
- 30
- CIRCULAR
- VECTOR
- TEXTURAS
- C03
...eliminar los espacios iniciales y finales, cambiar a minúsculas, y luego volver a aplicar esas etiquetas al archivo con tag
.
Además, también sería útil eliminar del sistema las etiquetas que son sólo números.
Actualización: Necesito hacer esto específicamente:
Hazel maneja la recursividad así que para cada archivo que encuentra:
- Almacenar el
$working_folder
y el$filepath
cut
el$working_folder
de la$filepath
cut
el$result
en el_-. <space> ,
caracteres y almacenar en una lista o matriz- recorre en bucle la lista o matriz y
sed 's/^[ \t]*//;s/[ \t]*$//'
para eliminar los espacios en blanco iniciales y finales (de http://sed.sourceforge.net/sed1line.txt ) - convertir la matriz en una cadena separada por comas para introducirla en
tag -s $comma_separated_tags $filepath
Es que no sé cómo poner eso en formato bash script.