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

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

[bash]mdls -name kMDItemFSLabel [ファイル名][/bash]

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

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

[bash]#!/bin/bash

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

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

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

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

という感じ。

Leave a Reply