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_foldere$filepath -
cut$working_folderda$filepath -
cut$resultcon_-. <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.