ターミナル(シェルスクリプト)でファイルのFinderラベルを取得

mdlsというコマンドを使うとできるようです。

mdls -name kMDItemFSLabel [ファイル名]

すると
kMDItemFSLabel = 7
こんな結果が返ってきます。

煩雑なので、スクリプトにしておきました。

#!/bin/bash

if [ "$#" = 0 ]; then
 echo "Usage: getLabel file"
 exit
fi

FSLABEL=`mdls -name kMDItemFSLabel $1 | sed -e "s/[^0-9]//g"`
echo $FSLABEL

ちなみに、返ってくる数字は色と対応しています。

  1. レッド
  2. グリーン
  3. パープル
  4. ブルー
  5. イエロー
  6. グレイ
  7. オレンジ

という感じ。

Leave a Reply