delimitatore scrittura xattr

1

Sto provando a scrivere tag OM usando xattr.

xattr -w com.apple.metadata:kMDItemOMUserTags tag1 a.rtf

Funziona bene per un tag, ma come aggiungo due o più? Ho provato varie combinazioni di virgolette, virgole, \, ecc. Senza successo fino ad ora.

Aiuto molto apprezzato.

    
posta Dave A 16.04.2017 - 15:52
fonte

1 risposta

1

I tag OM (com.apple.metadata: kMDItemOMUserTags) così come i tag definiti dall'utente (com.apple.metadata: _kMDItemUserTags) sono memorizzati in un attributo esteso e il suo valore è un elenco di proprietà binarie che contiene una singola matrice di stringhe .

Esempio con il tag utente (xxd'd e convertito in xml con plutil):

<?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>user</string>
</array>
</plist>

Semplicemente usando xattr -w com.apple.metadata:kMDItemOMUserTags tag1 file non creerai un tag utente OMUser o (Apple) correttamente definito.

Raccomando di usare uno script "aggiungi tag" Python come questo uno .

kMDItemOMUserTags sembra essere obsoleto (o almeno " difficile "da usare ) in macOS e sono talvolta / spesso sostituiti con _kMDItemUserTags anche nelle app di OpenMeta.

    
risposta data 16.04.2017 - 19:41
fonte

Leggi altre domande sui tag