kick the base

Houdiniと、CG技術と、日々のこと。

Mac: 選択したファイルのラベルをクリアするサービスを作る

Macユーザーの皆さん、ラベル使ってますか?ラベルだけで恒久的に管理するのは微妙な気がしますが、パパっと作業するときとか地味に便利ですよね。作業進捗などを即席で管理する場合なども有用です。

雑に管理したあとはラベルをクリアしたいというのが心情。今回はラベルをクリアするサービスを作り、ショートカットに登録して使う方法についてご紹介します。

コマンドラインでお手軽クリア

超簡単です。Macにはxattrというコマンドが用意されているので、それを使う方法。

$ cd 任意のディレクトリ
$ xattr -c -r .

※ もちろんxattr -c -r 任意のディレクトリというワンライナーでもOK。

オプションを簡単に説明すると

  • -c : クリア
  • -r : 対象がディレクトリの場合再帰的に処理する

こんな感じです。簡単ですね。動画にするとこんな感じ。

f:id:kickbase:20171108195952g:plain

サービスを使う方法

Automatorというアプリを使ってサービスを作ります。詳しい作り方は以前Qiitaにまとめたのでそちらを参考していただくとして、簡単にまとめるとこんな感じ。

f:id:kickbase:20171108200651p:plain

シェルスクリプトはこんな感じ。

[ $# = 0 ] || xattr -c -r $@

複数の引数をあつかうことが出来るコマンドはforループ使わない方が高速化できますね。

これをショートカットキー(今回はcmd + shift + L)に登録しておけば選択したファイルを対象にラベルをクリアしてくれます。

f:id:kickbase:20171108200843g:plain

ちなみにぼくのMacはOS X El Capitanです。古くてスマン。

なんかフォルダに対してはショートカットでサービス起動できないっぽいのが不満。右クリックメニューから使うとうまいこと行くんだけど。なぜだ。

参考

[ Mac ] サービスを利用してファイルのパスをコピー・文字列置換する - Qiita

まとめ

コマンドラインもいいけどサービスもね。