Tag OSX dal terminale / console

2

È possibile creare qualche script per mostrare tutti gli oggetti taggati nel terminale / shell?

Mi piacerebbe creare qualcosa del genere:

ls-tag "Music" per visualizzare tutti gli elementi del tag Music

    
posta Pavel 14.09.2016 - 13:19
fonte

2 risposte

5

Nessun script è necessario per ottenere ciò. Usa semplicemente mdfind 'kMDItemUserTags=<tag>' per trovare tutti gli elementi con il tag <tag> .

Nel tuo caso è mdfind 'kMDItemUserTags=Music' .

Se vuoi limitare la ricerca a una directory speciale usa:

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

per es.

mdfind 'kMDItemUserTags=Music' -onlyin ~/Music/Classical\ Music/Сергей\ Сергеевич\ Прокофьев
    
risposta data 14.09.2016 - 13:33
fonte
4

C'è uno strumento a riga di comando chiamato tag :

Il tag

è uno strumento da riga di comando per manipolare i tag su file Mac OS X (10.9 Mavericks e successivi) e per richiedere file con tali tag. il tag può utilizzare la funzionalità di ricerca dei metadati incorporata nel file system per trovare rapidamente tutti i file che sono stati taggati con un determinato set di tag.

La sua pagina di aiuto:

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

Disponibile al link o tramite Macport o Homebrew

    
risposta data 14.09.2016 - 14:33
fonte

Leggi altre domande sui tag