Sto usando Tag e Hazel e mi piacerebbe passare in modo ricorsivo sui file sul nostro server, ottenere i loro percorsi di file e nomi di file e analizzare l'intera cosa in tag da applicare al file. C'è uno script di shell che può farlo? Posso usare Leap by Ironic Software per rimuovere i tag del cestino in modo esteso, ma questo mi dà un vero inizio in un sistema di tagging automatico per tutti i miei file.
Fondamentalmente prenderò un nome di file come
/Volumes/media/Clientele/Stock/Purchased Sets/Vintage Bundle/vintage-bundle-7/offset/30_CIRCULAR_VECTOR_TEXTURES/C03.eps
Troncare /Volumes/media/Clientele/Stock/
dalla cima e l'estensione del file .eps
dalla fine, quindi cut
il resto in tag separati:
- Set acquistati
- Pacchetto vintage
- vintage
- pacchetto
- 7
- offset
- 30
- CIRCOLARE
- VECTOR
- Trame
- C03
... rimuovi gli spazi iniziali e finali, cambia i caratteri in minuscolo, quindi riapplica i tag al file con tag
.
Inoltre, sarebbe utile anche rimuovere i tag dal sistema che sono solo numeri.
Aggiornamento: ho bisogno di farlo in particolare:
Hazel gestisce la ricorsione così per ogni file trovato:
- Salva
$working_folder
e$filepath
-
cut
$working_folder
da$filepath
-
cut
$result
con_-. <space> ,
caratteri e memorizzato in un elenco o in un array - scorrere l'elenco o la matrice e
sed 's/^[ \t]*//;s/[ \t]*$//'
per rimuovere gli spazi bianchi iniziali e finali (dal collegamento ) - converti l'array in una stringa separata da virgole per alimentare in
tag -s $comma_separated_tags $filepath
Non so come inserirlo in un formato di script bash.