最終更新日:2011/02/23

xattrのメモ

xattrの設定方法

昔xattrで属性を設定しようと思ったけどうまく設定できなくて、諦めたことがあったのですが、Manually set extended attributes on arbitrary files - Mac OS X Hintsに設定方法が書いてあり、試してみるとうまくいきましたのでそのメモです。

xattr -w 'com.apple.metadata:kMDItemWhereFroms' '<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><array><string>http://www.from.where.do.I.com</string></array></plist>' path_to_file

設定できるデータの種類(他にもあるかもしれません)

文字
<string>hoge</string>
数値
<integer>123</integer>
日時
<date>2011-02-23T12:39:08Z</date>
ISO 8601という形式。
現在時刻をターミナルで作成する場合はdate -u '+%Y-%m-%dT%H:%M:%SZ'
配列
<array>数値、文字列、日時</array>

com.apple.metadata:hoge形式のhoge部分は任意に設定できる。ただし、勝手にどんどん追加していっていいものかどうかはわかりません。

属性testStringにhikaruを設定する

xattr -w 'com.apple.metadata:testString' '<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><string>hikaru</string></plist>' path_to_file

上記コマンドでtestStringをhikaruに設定するとhikaruで検索できるようなる。 Finderのスポットライトの「生のクエリー」で"testString = hikaru"にすると属性を指定して検索できる。

integerも同様に設定、検索できるようにできる。