आप xattr का उपयोग कर सकते हैं। यह फाइल 1 से फाइल 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
टैग्स को संपत्ति सूची में स्ट्रिंग्स के एकल सरणी के रूप में संग्रहीत किया जाता है:
$ xattr -p com.apple.metadata:_kMDItemUserTags file3|xxd -r -p|plutil -convert xml1 - -o -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Red
6</string>
<string>aa</string>
<string>Orange
7</string>
<string>Yellow
5</string>
<string>Green
2</string>
<string>Blue
4</string>
<string>Purple
3</string>
<string>Gray
1</string>
</array>
</plist>
रंगों के लिए टैग में मान हैं Red\n6
(जहां \n
एक लाइनफ़ीड है)।
यदि com.apple.FinderInfo में kColor ध्वज अप्रभावित है, तो फाइंडर फाइलों के बगल में रंगों के लिए सर्कल नहीं दिखाता है। यदि kColor ध्वज नारंगी पर सेट है और फ़ाइल में लाल टैग है, तो खोजक लाल और नारंगी दोनों हलकों को दिखाता है। आप AppleScript के साथ kColor ध्वज सेट कर सकते हैं:
do shell script "xattr -w com.apple.metadata:_kMDItemUserTags '(\"Red\\n6\",\"new tag\")' ~/desktop/file4"
tell application "Finder" to set label index of file "file4" of desktop to item 1 of {2, 1, 3, 6, 4, 5, 7}
'("Red\n6","new tag")'
इसके लिए पुरानी शैली का सिंटैक्स है:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
<string>Red
6</string>
<string>new tag</string>
</array>
</plist>
xattr -p com.apple.FinderInfo file|head -n1|cut -c28-29
केलोर ध्वज के लिए प्रयुक्त बिट्स के मूल्य को प्रिंट करता है। रेड सी है, नारंगी ई है, पीला ए है, हरा 4 है, नीला 8 है, मैजेंटा 6 है, और ग्रे 2 है। (मानों में 1 जोड़ने वाला झंडा ओएस एक्स में उपयोग नहीं किया जाता है)