MacのFinderコメントを活用する
Macのmdfindを活用するの続編として、Finderコメントに特化して、ゲット・セット・検索するシェルスクリプトを書いてみた。
Finderコメントを表示する getcomment.sh:
#!/bin/bash path=`realpath "$1"` osascript -e "tell application \"Finder\" to get comment of (POSIX file \"$path\" as alias)"
Finderコメントを設定する setcomment.sh:
#!/bin/bash path=`realpath "$1"` osascript -e "tell application \"Finder\" to set comment of (POSIX file \"$path\" as alias) to \"$2\""
Finderコメントを検索する findcomment.sh(ついでにPDFのタイトルが入っていることが多い kMDItemTitle も検索)
#!/bin/bash mdfind "kMDItemFinderComment == \"$1\"cd || kMDItemTitle == \"$1\"cd"
部分一致なら findcomment.sh '*hoge*' のように、前か後か両方に * を付ける。
[追記] File Metadata Query Expression Syntax によれば ==[cd] でcase insensitive、insensitive to diacritical marksな検索ができるはずだがうまくいかない。式の最後に cd を持っていくといいようだ。
[追記] ファイルシステムをまたいで mv すると mdls で表示されるメタ情報が一時的にアクセスできなくなるようだが、mdimport ファイル名 とすると直る。あるいはPreviewで開くだけでも直るようだ。