etiquetas OSX desde el terminal / consola

0

¿Es posible crear algún script para mostrar todos los elementos etiquetados por el buscador en el terminal / shell?

Me gustaría crear algo como esto:

ls-tag "Music" para mostrar todos los elementos de la etiqueta Music

    
pregunta Pavel 14.09.2016 - 13:19

2 respuestas

4

No se necesita script para lograr eso. Simplemente use mdfind 'kMDItemUserTags=<tag>' para encontrar todos los elementos con la etiqueta <tag> .

En tu caso, es mdfind 'kMDItemUserTags=Music' .

Si desea restringir la búsqueda a un directorio especial, use:

mdfind 'kMDItemUserTags=Music' -onlyin /path/to/folder

por ejemplo

mdfind 'kMDItemUserTags=Music' -onlyin ~/Music/Classical\ Music/Сергей\ Сергеевич\ Прокофьев
    
respondido por el klanomath 14.09.2016 - 13:33
3

Hay una herramienta de línea de comandos llamada etiqueta :

La etiqueta

es una herramienta de línea de comandos para manipular etiquetas en archivos de Mac OS X (10.9 Mavericks y superiores), y para consultar archivos con esas etiquetas. tag puede usar la funcionalidad de búsqueda de metadatos incorporada del sistema de archivos para encontrar rápidamente todos los archivos que se han etiquetado con un conjunto de etiquetas dado.

Su página de ayuda:

tag - A tool for manipulating and querying file tags.
  usage:
    tag -a | --add <tags> <path>...     Add tags to file
    tag -r | --remove <tags> <path>...  Remove tags from file
    tag -s | --set <tags> <path>...     Set tags on file
    tag -m | --match <tags> <path>...   Display files with matching tags
    tag -l | --list <path>...           List the tags on file
    tag -f | --find <tags> <path>...    Find all files with tags, limited to paths if present
  <tags> is a comma-separated list of tag names; use * to match/find any tag.
  additional options:
        -v | --version      Display version
        -h | --help         Display this help
        -A | --all          Display invisible files while enumerating
        -e | --enter        Enter/enumerate directories provided
        -d | --descend      Recursively descend into directories
        -n | --name         Turn on filename display in output (default)
        -N | --no-name      Turn off filename display in output (list, find, match)
        -t | --tags         Turn on tags display in output (find, match)
        -T | --no-tags      Turn off tags display in output (list)
        -g | --garrulous    Display tags each on own line (list, find, match)
        -G | --no-garrulous Display tags comma-separated after filename (default)
        -H | --home         Find tagged files in user home directory
        -L | --local        Find tagged files in home + local filesystems
        -R | --network      Find tagged files in home + local + network filesystems
        -0 | --nul          Terminate lines with NUL (
tag - A tool for manipulating and querying file tags.
  usage:
    tag -a | --add <tags> <path>...     Add tags to file
    tag -r | --remove <tags> <path>...  Remove tags from file
    tag -s | --set <tags> <path>...     Set tags on file
    tag -m | --match <tags> <path>...   Display files with matching tags
    tag -l | --list <path>...           List the tags on file
    tag -f | --find <tags> <path>...    Find all files with tags, limited to paths if present
  <tags> is a comma-separated list of tag names; use * to match/find any tag.
  additional options:
        -v | --version      Display version
        -h | --help         Display this help
        -A | --all          Display invisible files while enumerating
        -e | --enter        Enter/enumerate directories provided
        -d | --descend      Recursively descend into directories
        -n | --name         Turn on filename display in output (default)
        -N | --no-name      Turn off filename display in output (list, find, match)
        -t | --tags         Turn on tags display in output (find, match)
        -T | --no-tags      Turn off tags display in output (list)
        -g | --garrulous    Display tags each on own line (list, find, match)
        -G | --no-garrulous Display tags comma-separated after filename (default)
        -H | --home         Find tagged files in user home directory
        -L | --local        Find tagged files in home + local filesystems
        -R | --network      Find tagged files in home + local + network filesystems
        -0 | --nul          Terminate lines with NUL (%pre%) for use with xargs -0
) for use with xargs -0

Disponible en enlace oa través de Macports o Homebrew

    
respondido por el PeterVP 14.09.2016 - 14:33

Lea otras preguntas en las etiquetas