É possível marcar um arquivo ou pasta em mavericks através do comando terminal?
terminal
mavericks
finder-tag
macos
GedankenNebel
fonte
fonte
Respostas:
Você pode usar o xattr. Isso copia as tags do arquivo1 para o arquivo2:
xattr -wx com.apple.metadata:_kMDItemUserTags "$(xattr -px com.apple.metadata:_kMDItemUserTags file1)" file2;xattr -wx com.apple.FinderInfo "$(xattr -px com.apple.FinderInfo file1)" file2
As tags são armazenadas em uma lista de propriedades como uma única matriz de strings:
Se o sinalizador kColor em com.apple.FinderInfo estiver desativado, o Finder não mostrará os círculos para cores. Se o sinalizador kColor estiver definido como laranja e o arquivo tiver a etiqueta vermelha, o Finder exibirá círculos vermelho e laranja. Você pode definir o sinalizador kColor com AppleScript:
xattr -w com.apple.metadata:_kMDItemUserTags '("Red\n6","new tag")' ~/desktop/file4;osascript -e 'on run {a}' -e 'tell app "Finder" to set label index of (POSIX file a as alias) to item 1 of {2, 1, 3, 6, 4, 5, 7}' -e end ~/desktop/file4
xattr -p com.apple.FinderInfo file|head -n1|cut -c28-29
imprime o valor dos bits usados para o sinalizador kColor. Vermelho é C, laranja é E, amarelo é A, verde é 4, azul é 8, magenta é 6 e cinza é 2. O sinalizador que adicionaria 1 aos valores não é usado no OS X.Editar: você também pode usar a tag :
A tag pode ser instalada com
brew install tag
ousudo port install tag
.fonte
É possível manipular tags através de comandos puros do bash. Não há necessidade de um utilitário de "tag" de terceiros.
Este comando lista todas as tags de um arquivo ($ src):
E aqui está como você pode adicionar uma tag ($ newtag) a um arquivo ($ src):
Aqui está um pequeno script de shell que exporta uma função "tags". Uso:
A função pode ser facilmente estendida para suportar a remoção também.
fonte
xattr -wx
comando falha quando o arquivo ainda não possui nenhuma tag. Como posso evitar isso?xattr -px …
comando que você deu para mostrar as tags em uma das minhas pastas fornece a seguinte saída:"language:Objective-C\n2"
(nova linha)"platform:iOS\n4"
. Honestamente, se você deseja agrupar seu código de shell moderadamente complexo em uma função bash, está meio que duplicando o esforço da tag , que tem a vantagem de ser bem mantido pela comunidade.