Perpetua:2011-01-16 ashley$ mdls IMAG0107.jpg
...
kMDItemComment = "Gato con la lengua afuera".
Entonces, aquí está mi pregunta. xattr
se puede utilizar para modificar algunos atributos. Por ejemplo:
Perpetua:2011-01-16 ashley$ xattr -l IMAG0107.jpg com.apple.metadata:kMDItemFinderComentario: 00000000 62 70 6C 69 73 74 30 30 50 08 00 00 00 00 00 00 |bplist00P.......| 00000010 01 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 |................| 00000020 00 00 00 00 00 00 00 00 00 09 |..........| 0000002a Perpetua:2011-01-16 ashley$
Pero este no es el atributo que quiero editar. Me imagino que esto se debe a que kMDItemComment es un metadato específico de iPhoto. Mi pregunta sería, ¿cómo hago para editarlo?
com.apple.metadata:kMDItemFinderComment está en formato de lista de propiedades binarias . El uso xattr -p -l -x | tail +2
le da solo el volcado hexadecimal del atributo. Luego puede canalizar eso xxd -r
para convertirlo nuevamente en un archivo binario.
Desde allí, puede abrir ese archivo en el Editor de listas de propiedades de Apple, suponiendo que tenga instaladas las Herramientas para desarrolladores. A continuación, puede editar la propiedad visualmente.
Entonces debería poder volver a aplicar el valor editado al archivo usando xxd -p -x
y xattr -w -x
.
Todo esto es mucho más complicado de lo que uno realmente quiere para una sola propiedad que es solo una cadena.
plist
archivos binarios, entonces plutil -convert xml1 file.plist
podría ser útil.Uno puede hacer esto en la forma "Mac" (por AppleScript), usando el siguiente scriptsetFinderComment.scpt
#!/usr/bin/osascript
on run argv
set filePath to POSIX file (item 1 of argv)
set fileComment to item 2 of argv
set theFile to filePath as alias
tell application "Finder" to set comment of theFile to fileComment
end run
Luego lo haces ejecutable chmod a+x setFinderComment.scpt
y lo usas como
setFinderComment.scpt filename comment
El proyecto OpenMeta está utilizando los atributos extendidos para almacenar sus etiquetas. El código fuente está disponible en https://code.google.com/p/openmeta/ . Parte de ese proyecto son las herramientas de línea de comandos meta abiertas.
Esta herramienta de línea de comandos funciona con un conjunto predefinido de atributos utilizados por OpenMeta, pero como es de código abierto, se puede adaptar fácilmente para permitir una configuración de línea de comandos adicional para configurar/leer otros atributos extendidos.
¿No es una solución directa, sino un camino hacia una solución?
Harv
nathan greenstein
Harv
nathan greenstein
Harv
usuario588
mdls
returnkMDItemComment
y xattr muestrankMDItemFinderComment
cuáles son atributos diferentes.Harv
usuario588
Harv
usuario588
Harv