Czy możliwe jest oznaczenie pliku lub folderu w mavericks za pomocą polecenia terminalu?
terminal
mavericks
finder-tag
macos
GedankenNebel
źródło
źródło
Odpowiedzi:
Możesz użyć xattr. Spowoduje to skopiowanie znaczników z pliku 1 do pliku 2:
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
Znaczniki są przechowywane na liście właściwości jako pojedyncza tablica ciągów:
Jeśli flaga kColor w com.apple.FinderInfo jest wyłączona, Finder nie pokazuje okręgów dla kolorów. Jeśli flaga kColor jest ustawiona na pomarańczowy, a plik ma czerwony znacznik, Finder pokazuje zarówno czerwone, jak i pomarańczowe kółka. Możesz ustawić flagę kColor za pomocą 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
wypisuje wartość bitów użytych dla flagi kColor. Czerwony to C, pomarańczowy to E, żółty to A, zielony to 4, niebieski to 8, magenta to 6, a szary to 2. Flaga, która dodaje 1 do wartości, nie jest używana w OS X.Edycja: możesz także użyć tagu :
Tag można zainstalować za pomocą
brew install tag
lubsudo port install tag
.źródło
Możliwe jest manipulowanie znacznikami za pomocą poleceń czysto bashowych. Nie ma potrzeby używania zewnętrznego tagu.
To polecenie wyświetla wszystkie tagi pliku ($ src):
A oto jak możesz dodać tag ($ newtag) do pliku ($ src):
Oto mały skrypt powłoki, który eksportuje funkcję „tagów”. Stosowanie:
Funkcję tę można łatwo rozszerzyć, aby obsługiwała również usuwanie.
źródło
xattr -wx
polecenie kończy się niepowodzeniem, gdy plik nie ma już żadnych tagów. Jak mogę tego uniknąć?xattr -px …
polecenia, które podałeś, aby pokazać tagi w jednym z moich folderów, daje następujący wynik:"language:Objective-C\n2"
(nowa linia)"platform:iOS\n4"
. Szczerze mówiąc, jeśli zamierzasz zawinąć swój umiarkowanie skomplikowany kod powłoki w funkcję bash, po prostu powielasz wysiłek związany z tagiem , który ma tę zaletę, że jest dobrze utrzymywany przez społeczność.