»mdls« → lists the metadata attributes

Mit dem CLI Utility »mdls«1) können Sie sich die Metadaten einer Datei oder eines Verzeichnis in einem »key=value« pair anzeigen lassen. Dazu gehören zB uA die Benutzer-ID, welchem das Objekt gehört »kMDItemFSOwnerUserID«, die Zeitstempel »kMDItemFSCreationDate«, »kMDItemLastUsedDate« und »kMDItemFSContentChangeDate« und der Dateityp »kMDItemKind«. Bei Bildern die Auflösung und Pixelgröße »kMDItemPixelHeight«, »kMDItemPixelWidth«, »kMDItemResolutionHeightDPI« und »kMDItemResolutionWidthDPI«. Bei MP3-Dateien, die Bitrate »kMDItemTotalBitRate« oder sogar das Genre »kMDItemMusicalGenre« oder die Länge in Sekunden »kMDItemDurationSeconds«.

Welche Eigenschaften in den Metadaten zu einer Datei gespeichert werden, hängt neben dem Dateityp auch von den auf Ihrem System installierten Spotlight-Importern ab. Wenn über die Importer neue Eigenschaften definiert wurden, die die Vorgabe von Apple ergänzen und erweitern, dann stehen Ihnen diese Eigenschaften auch zur Verfügung.

Fazit: Ein wahre Fundgrube für Informationen rund um Ihre Dateien und Verzeichnisse. Diese Liste kann hervorragen mit »awk«, -> »grep«, oder den Kommando Parametern »-name« bzw. »-raw« gefiltert werden und ggf in Shellskripten weiter verarbeitet werden:

Ein Beispiel:

$ mdls speedtest.png

Die Ausgabe ohne Parameter und Filter zeigt alle Metadaten, die zu einer Datei im Index von Spotlight vorhanden sind und präsentiert sich bei der Beispieldatei »speedtest.png« wie folgt:

 kMDItemBitsPerSample           = 40
kMDItemColorSpace              = "RGB"
kMDItemContentCreationDate     = 2011-02-11 11:55:36 +0100
kMDItemContentModificationDate = 2011-02-11 11:55:36 +0100
kMDItemContentType             = "public.png"
kMDItemContentTypeTree         = (
    "public.png",
    "public.image",
    "public.data",
    "public.item",
    "public.content"
)
kMDItemDisplayName             = "speedtest.png"
kMDItemFSContentChangeDate     = 2011-02-11 11:55:36 +0100
kMDItemFSCreationDate          = 2011-02-11 11:55:36 +0100
kMDItemFSCreatorCode           = ""
kMDItemFSFinderFlags           = 0
kMDItemFSHasCustomIcon         = 0
kMDItemFSInvisible             = 0
kMDItemFSIsExtensionHidden     = 0
kMDItemFSIsStationery          = 0
kMDItemFSLabel                 = 0
kMDItemFSName                  = "speedtest.png"
kMDItemFSNodeCount             = 0
kMDItemFSOwnerGroupID          = 20
kMDItemFSOwnerUserID           = 501
kMDItemFSSize                  = 177564
kMDItemFSTypeCode              = ""
kMDItemHasAlphaChannel         = 1
kMDItemIsScreenCapture         = 1
kMDItemKind                    = "PNG-Bild (Portable Network Graphics)"
kMDItemLastUsedDate            = 2011-02-11 11:55:36 +0100
kMDItemOrientation             = 0
kMDItemPixelHeight             = 726
kMDItemPixelWidth              = 1015
kMDItemProfileName             = "S2402W"
kMDItemResolutionHeightDPI     = 72
kMDItemResolutionWidthDPI      = 72
kMDItemScreenCaptureType       = "window"
kMDItemUsedDates               = (
    2011-02-11 00:00:00 +0100
)

Mit dem Parameter »-name« kann gezielt ein Wert abgefragt werden:

$ mdls -name kMDItemFSCreationDate speedtest.png 
kMDItemFSCreationDate = 2011-02-11 11:55:36 +0100

Diese Ausgabe mit dem Parameter »-raw« kombiniert gibt nur noch den Wert des abgefragten Attributs und ohne LF (Line Feed)2) angezeigt:

$ mdls -raw -name kMDItemFSCreationDate speedtest.png 
2011-02-11 11:55:36 +0100

Die Attribute können mit dem »SetFile« Utility3) bearbeitet werden, welches Bestandteil des Developer Toolkit ist. Eine Beispiel für eine praktische Anwendung finden Sie im Artikel: -> Volume Symbole auf dem Schreibtisch ausblenden

Verwandte Artikel:
-> HFS+ und die erweiterten Attribute
-> Volume Symbole auf dem Schreibtisch ausblenden
-> PC kompatibles ZIP erstellen
-> Des Finders versteckte Dateien
-> Entfernen des com.apple.quarantine Attributs
-> CD ohne Metadaten erstellen


pronto 2011/02/22 15:41