ほぼ参考文献を組み合わせただけなので新規性はあまりないです。
完成品
こういうクイックアクションを作り、テキストファイルやCSVファイルのエンコードをbomつきUTF-8に置き換える。
手順
1. Homebrewのインストール
いつもの。最近はコマンドラインからのインストールだけでなく、pkgファイルでのインストール(一般的なmacOSアプリのインストール方法の1つ)ができるようになっている。
テックな事柄に明るくない人向けに手順をざっくり
- 上記のサイトにアクセスする
- ページの「macOSをお使いの場合は新しい.pkgインストーラーをお試し下さい。」の右側にあるGitHubへのリンクを押す
- ページ最下部の「Homebrew-4.2.1.pkg」みたいなpkgファイルをクリックしダウンロード
- ダウンロードが終わったらダブルクリックで実行し、指示にしたがってインストールを完了させる
※筆者はコマンドラインでインストールしたので細部が違ったらすみません。
インストールには30〜60分ほどかかることが多いです。コーヒーでも淹れてのんびり待ちましょう。
2. nkfコマンドのインストール
brew install nkf
3. Automatorでクイックアクションを作成
macOSにはじめからインストールされている Automator.app を開き、「新規書類」→「クイックアクション」を選択。
ワークフローの設定
設定項目 | 設定値 |
---|---|
受け取る項目 | ファイルとフォルダ |
検索対象 | Finder.app |
画像 | お好み |
ワークフローの中身
左側のサイドメニューから「シェルスクリプトを実行」をドラッグ&ドロップします。
設定項目 | 設定値 |
---|---|
シェル | /bin/bash |
入力の引き渡し方法 | 引数として |
for f in "$@"
do
if [ ${f##*.} = "csv" -o ${f##*.} = "txt" ]; then
/opt/homebrew/bin/nkf --oc=UTF-8-BOM --overwrite "$f"
fi
done
保存時にアクション名の指定を求められるので、お好みで設定して保存してください。
4. 右クリックメニューに出てくるように設定(出てこない場合)
- 記事の最初の画像で開いているメニューにある「カスタマイズ」を選択するか、システム設定を開いて「セキュリティとプライバシー>機能拡張>Finder」と選択する
- 作成したワークフローにチェックを入れる
※作成したワークフローが表示されない場合、正しい場所に保存できていない可能性があります。 ~/Library/Services
にワークフローが保存されているかどうかを確認し、ない場合は気合いでワークフローのありかを探し出してこのフォルダに格納してください。
雑感
バイト先で使うシステムがUnicodeに対応しているのは嬉しいのですが、エクスポートするCSVがどれもこれもbomなしなので、Excelで開くとすぐに文字化けしてしまいます。自分だけなら適当なビューワを入れるだけですが、そのファイルを他の人に丸ごと転送するシチュエーションも多いので、できれば相手の環境でスムーズに中身を確認できる状態にしたいという気持ちで作成しました。
参考文献
Shift JISに変換するバージョン。ただ、Unicode系はShift JISに変換できない文字がときどき含まれるので、あまりやりたくなかった。
nkfコマンドみりしらだったので調べた。
bashは基本文法も怪しいので調べた。