Perpetua:2011-01-16 ashley $ mdls IMAG0107.jpg
...
kMDItemComment = "Katze mit herausgestreckter Zunge."
Also, hier ist meine Frage. xattr
kann verwendet werden, um einige Attribute zu ändern. Zum Beispiel:
Perpetua:2011-01-16 ashley $ xattr -l IMAG0107.jpg com.apple.metadata:kMDItemFinderComment: 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$
Dies ist jedoch nicht das Attribut, das ich bearbeiten möchte. Ich denke, das liegt daran, dass kMDItemComment ein iPhoto-spezifisches Stück Metadaten ist. Meine Frage wäre, wie gehe ich vor, um es zu bearbeiten?
com.apple.metadata:kMDItemFinderComment ist im binären Eigenschaftslistenformat . Using xattr -p -l -x | tail +2
gibt Ihnen nur den Hex-Dump des Attributs. Sie können das dann weiterleiten, xxd -r
um es wieder in eine Binärdatei umzuwandeln.
Von dort aus können Sie diese Datei im Property List Editor von Apple öffnen, vorausgesetzt, Sie haben die Developer Tools installiert. Anschließend können Sie die Eigenschaft visuell bearbeiten.
xxd -p -x
Sie sollten dann in der Lage sein, den bearbeiteten Wert mit und erneut auf die Datei anzuwenden xattr -w -x
.
Das ist alles viel chaotischer, als man es sich für eine einzelne Eigenschaft, die nur ein String ist, wirklich wünscht.
plist
, plutil -convert xml1 file.plist
kann dies hilfreich sein.Man kann dies auf "Mac"-Weise (per AppleScript) tun, indem man das folgende Skript verwendetsetFinderComment.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
Dann machst du es ausführbar chmod a+x setFinderComment.scpt
und verwendest es als
setFinderComment.scpt filename comment
Das OpenMeta-Projekt verwendet die erweiterten Attribute, um ihre Tags zu speichern. Der Quellcode ist unter https://code.google.com/p/openmeta/ verfügbar . Teil dieses Projekts sind offene Meta-Kommandozeilen-Tools.
Dieses Befehlszeilentool arbeitet mit einem vordefinierten Satz von Attributen, die von OpenMeta verwendet werden, aber da es Open Source ist, kann es leicht angepasst werden, um zusätzliche Befehlszeileneinstellungen zum Setzen/Lesen anderer erweiterter Attribute zu ermöglichen.
Keine direkte Lösung, sondern ein Weg zur Lösung ?
Harv
Nathan Greenstein
Harv
Nathan Greenstein
Harv
Benutzer588
mdls
returnkMDItemComment
und xattr zeigen,kMDItemFinderComment
was unterschiedliche Attribute sind.Harv
Benutzer588
Harv
Benutzer588
Harv