Est-il possible de baliser un fichier ou un dossier dans mavericks via la commande du terminal?
terminal
mavericks
finder-tag
macos
GedankenNebel
la source
la source
Réponses:
Vous pouvez utiliser xattr. Cela copie les balises de file1 à file2:
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
Les balises sont stockées dans une liste de propriétés sous la forme d'un tableau unique de chaînes:
Si l'indicateur kColor dans com.apple.FinderInfo n'est pas défini, le Finder n'affiche pas les cercles pour les couleurs. Si l'indicateur kColor est défini sur orange et que le fichier a la balise rouge, le Finder affiche les cercles rouge et orange. Vous pouvez définir l'indicateur kColor avec AppleScript:
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
affiche la valeur des bits utilisés pour l'indicateur kColor. Le rouge est C, l'orange est E, le jaune est A, le vert est 4, le bleu est 8, le magenta est 6 et le gris est 2. Le drapeau qui ajouterait 1 aux valeurs n'est pas utilisé sous OS X.Modifier: vous pouvez également utiliser la balise :
tag peut être installé avec
brew install tag
ousudo port install tag
.la source
Il est possible de manipuler des balises via des commandes bash pures. Il n'est pas nécessaire d'utiliser un "tag" tiers.
Cette commande répertorie toutes les balises d'un fichier ($ src):
Et voici comment vous pouvez ajouter une balise ($ newtag) à un fichier ($ src):
Voici un petit script shell qui exporte une fonction "tags". Usage:
La fonction peut également être facilement étendue pour prendre en charge la suppression.
la source
xattr -wx
commande échoue lorsque le fichier ne contient pas encore de balises. Comment puis-je éviter ça?xattr -px …
commande que vous avez donnée pour afficher les balises sur l'un de mes dossiers donne la sortie suivante:"language:Objective-C\n2"
(nouvelle ligne)"platform:iOS\n4"
. Honnêtement, si vous allez encapsuler votre code shell modérément complexe dans une fonction bash, vous dupliquez simplement l'effort de tag , ce qui a l'avantage d'être bien entretenu par la communauté.