Por ejemplo, supongamos que tengo una estructura de directorio como
/Users
/tlehman
/Math
algebraic_varieties.tex [tagged: Math, Documentation]
projective_geometry.pdf [tagged: Math]
/Development
visualize_surfaces.py [tagged: Math, Programming]
solve_polynomials.scm [tagged: Math]
/guest
/Desktop
welcome.rtf [tagged: Documentation]
/Volumes
/USBKey
assignments_for_may.txt [tagged: Math]
using_LaTeX.pdf [tagged: Documentation]
Desde la línea de comandos, ¿hay alguna forma en que pueda usar ls(o algo así) para mostrar todos los archivos etiquetados como "Matemáticas"?
EDITAR: Hice una herramienta llamada tfindque hace esto: https://github.com/tlehman/bin/blob/master/tfind
macos
command-line
filesystem
mavericks
tlehman
fuente
fuente

tagJames Berry enhttps://github.com/jdberry. Puede instalarlo víabrew install tag, agregar una etiqueta víatag -a <tag> <file>, buscar etiquetas víatag -f <tag1, tag2>. Muy, muy útil, lo uso todo el tiempo.tagcomando. Se instala a través de brew muy fácilmente.Respuestas:
Supongo que serán un xattr como están actualmente en 10.8.3 (y anteriores)
Actualmente, puede ver qué atributos extendidos tiene un archivo
ls -l@.Pero para ver el contenido de los atributos, debe usar
xattr.fuente
xattr -pl com.apple.metadata:_kMDItemUserTags filename. Sin embargo, no fue una salida muy amigable.Sí, puede encontrar archivos que tengan una etiqueta de usuario determinada usando
mdfind.Cree un archivo y asígnele una etiqueta personalizada en Finder.
Luego entra en una terminal; lo encontrarás con:
o
Consulte también
-onlyin aFolderpara restringir la búsqueda.No comprobé cuán complejas pueden ser estas expresiones booleanas, pero estos dos ejemplos funcionan.
Puede canalizar la salida de
lsesta manera:Además, mdfind tiene una opción "-0"
que puede ser práctico con nombres de archivo desagradables.
fuente
mdfindsintaxis de las etiquetas, por ejemplo:mdfind "tag:Math",mdfind "tag:Math OR tag:Programming"Puede obtener todas las etiquetas de un archivo con:
mdls -name kMDItemUserTags filenamefuente