Ist es möglich, eine Datei oder einen Ordner in Mavericks über einen Terminalbefehl zu markieren?
terminal
mavericks
finder-tag
macos
GedankenNebel
quelle
quelle
Antworten:
Sie können xattr verwenden. Dadurch werden die Tags von Datei1 nach Datei2 kopiert:
xattr -wx com.apple.metadata:_kMDItemUserTags "$(xattr -px com.apple.metadata:_kMDItemUserTags file1)" file2;xattr -wx com.apple.FinderInfo "$(xattr -px com.apple.FinderInfo file1)" file2
Die Tags werden in einer Eigenschaftsliste als einzelnes Array von Zeichenfolgen gespeichert:
Wenn das kColor-Flag in com.apple.FinderInfo nicht gesetzt ist, zeigt Finder die Kreise für Farben nicht an. Wenn das kColor-Flag auf Orange gesetzt ist und die Datei das rote Tag hat, zeigt der Finder sowohl rote als auch orangefarbene Kreise an. Sie können das kColor-Flag mit AppleScript setzen:
xattr -w com.apple.metadata:_kMDItemUserTags '("Red\n6","new tag")' ~/desktop/file4;osascript -e 'on run {a}' -e 'tell app "Finder" to set label index of (POSIX file a as alias) to item 1 of {2, 1, 3, 6, 4, 5, 7}' -e end ~/desktop/file4
xattr -p com.apple.FinderInfo file|head -n1|cut -c28-29
Gibt den Wert der für das kColor-Flag verwendeten Bits aus. Rot ist C, Orange ist E, Gelb ist A, Grün ist 4, Blau ist 8, Magenta ist 6 und Grau ist 2. Das Flag, das den Werten 1 hinzufügen würde, wird in OS X nicht verwendet.Bearbeiten: Sie können auch Tag verwenden :
Tag kann mit
brew install tag
oder installiert werdensudo port install tag
.quelle
Es ist möglich, Tags über reine Bash-Befehle zu bearbeiten. Es ist keine "Tag" -Verwendung von Drittanbietern erforderlich.
Dieser Befehl listet alle Tags einer Datei ($ src) auf:
Und so können Sie einer Datei ($ src) ein Tag ($ newtag) hinzufügen:
Hier ist ein kleines Shell-Skript, das eine "Tags" -Funktion exportiert. Verwendungszweck:
Die Funktion kann leicht erweitert werden, um auch das Entfernen zu unterstützen.
quelle
xattr -wx
Befehl schlägt fehl, wenn die Datei noch keine Tags enthält. Wie kann ich das vermeiden?xattr -px …
Befehl"language:Objective-C\n2"
ausführen, den Sie zum Anzeigen der Tags in einem meiner Ordner gegeben haben, erhalten Sie die folgende Ausgabe: (Zeilenumbruch)"platform:iOS\n4"
. Ehrlich gesagt, wenn Sie Ihren mäßig komplexen Shell-Code in eine Bash-Funktion einbinden möchten, duplizieren Sie einfach den Aufwand für Tags , was den Vorteil hat, dass die Community gut gepflegt ist.