Gibt es einen Befehl, der den Etikettenstatus (Etiketten wie im Infomenü im Finder cmd + i angewendet) eines Elements über die Befehlszeile in OS X anzeigen kann? Im Wesentlichen möchte ich nur alle Elemente mit oder ohne Labels im aktuellen Verzeichnis auflisten, aber ich kann keine Möglichkeit finden, sie auseinander zu ziehen.
Dies hilft beim Erstellen eines zeitgesteuerten Skripts, das im Hintergrund ausgeführt wird. Dann kann ich im Finder ein Label anwenden und erwarten, dass eine Aktion automatisch auf diese Datei angewendet wird, ohne besondere Bedingungen stellen oder eine kuratierte Datei mit einer Liste führen zu müssen.
Mit ls
können Sie die erweiterten Metadaten von Dateien anzeigen:
$ ls -l@
-rw-r--r--@ 1 andrew staff 1292910 Aug 9 11:36 labelled_file.jpg
com.apple.metadata:kMDLabel_hlsi7t7nerhynemqvydgeb26de 50
Der schnellste Weg, beschriftete und unbeschriftete Dateien zu erhalten, ist jedoch eine Attributsuche mit mdfind
:
$ mdfind -onlyin . -literal 'kMDItemFSLabel > 0' # labels have value 50
/cwd/labelled_file.jpg
$ mdfind -onlyin . -literal 'kMDItemFSLabel == 0'
/cwd/all.jpg
/cwd/other.jpg
/cwd/files.jpg
Sie können verwenden
xattr -p com.apple.FinderInfo filename
aber Sie werden etwas Arbeit brauchen, um die Ausgabe zu verarbeiten. Siehe diese Antwort auf Superuser für ein Beispiel mit einem Bash-Skript und eines mit Python.
Matteo
Rechenmaschine