Como posso aplicar tags no Mavericks recursivamente?


9

Agora que o Mavericks removeu a barra colorida feia e a substituiu por um ponto bonito, eu gostaria de usar mais tags.

Basicamente, tenho arquivos de trabalho em locais diferentes que lidam com projetos diferentes e gostaria de aplicar a tag a todos os arquivos incluídos em pastas específicas. Os arquivos podem se mover para novas pastas (fora da pasta original) no futuro, então eu gostaria de aplicar uma tag recursivamente a uma pasta, para que eu possa achar mais fácil se ela for removida da pasta.

Respostas:


7

Você pode usar o xattr para escrever vários metadados relacionados às "novas" tags no Mavericks. John Siracusa já fez o levantamento pesado aqui .

Essencialmente, você precisa gravar dois atributos, com.apple.FinderInfo e com.apple.metadata: _kMDItemUserTags, nos arquivos. A maneira mais fácil será obter um arquivo marcado como você deseja e apenas copiar os atributos dele. Abra o terminal e mude para o diretório que contém a pasta que deseja marcar recursivamente. Em seguida, digite:

touch sampleFile
open .

Isso abrirá o Finder para que você possa marcar o sampleFile como deseja que todos os outros arquivos sejam marcados. Depois de terminar a marcação, volte para a janela do terminal e digite:

find yourDirName -type f | xargs xattr -wx com.apple.FinderInfo \
"`xattr -px sampleFile`"

find yourDirName -type f | xargs xattr -wx com.apple.metadata:_kMDItemUserTags \
"`xattr -px com.apple.metadata:_kMDItemUserTags sampleFile`"

Isso irá recursivamente detalhar e marcar todos os arquivos em yourDirName , bem como arquivos em quaisquer subdiretórios. Você pode deixar o argumento -type f desativado se desejar marcar os subdiretórios e os arquivos.

Por fim, você pode alterar o

find yourDirName -type f

comandos para

find yourDirName -iname "*.ext"

se você deseja marcar apenas determinados tipos / extensões de arquivo.


Adoro. Eu li a mesma revisão do Ars e estava pensando em como anexar os metadados necessários a cada arquivo.
27413 Steve

10

Há uma ferramenta de tag CLI disponível no Macports / Homebrew: https://github.com/jdberry/tag

Parece não ter uma opção de recursão, no entanto, eu imagino que você possa usar isso em conjunto com o 'find' padrão do UNIX.

por exemplo, (de dentro do diretório em que você deseja marcar os arquivos)

find . -exec tag --add tagname {} \;  -print 

A versão atual (tag v0.8.1) suporta marcação recursiva usandotag -e -d --add tagname path
Munkymorgy

3

Uma maneira simples de fazer isso é usar uma pesquisa Spotlight para gerar uma lista de todos os arquivos nos quais você está interessado. Um exemplo de como fazer isso:

  • No Finder, navegue até o topo da estrutura de pastas em que está interessado.
  • Digite -kind:folderno campo de pesquisa Spotlight

    Isso procurará todos os arquivos que não são uma pasta (o -sinal nega os resultados).

  • Certifique-se de restringir a pesquisa à hierarquia de pastas em que está interessado, clicando no nome da pasta nos termos de pesquisa, logo abaixo do campo de pesquisa do Spotlight.

Agora você terá uma lista na sua janela do Finder de todos os arquivos nessa hierarquia de pastas. Agora é trivial selecionar todos os arquivos e aplicar as tags que você deseja da maneira usual com o Finder.

Use diferentes pesquisas do Spotlight para atender às suas necessidades.

Você pode facilitar um pouco esse processo, fazendo o Spotlight sempre pesquisar na pasta atual e não This Mac:

Finder -> Preferences -> Advanced -> When performing a search: Search the current folder


1

Vá para a pasta superior e procure por '.' dentro dessa pasta.

Selecione todos os arquivos e marque-os.

Pode ser necessário remover a tag e reaplicá-la.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.