kazasiki's blog

プログラミングとかVRゲームとか

Macでターミナルから特定のアプリを使ってファイルを開く

TL; DR

stackoverflow.com

背景

Macでターミナルから特定のアプリを使ってファイルを開きたいときってありますよね?ファイルの拡張子に設定されているデフォルトのアプリで開く場合は open hogehoge.csv で開けます。CSVファイルに単にopenを使うと、Macの場合はNumbersが使われます。

ただ、個人的にはCSVExcelで開きたいときがちょいちょいあります。というのも、今いる会社はMicrosoft Office製品を標準ツールにしていて、データの受け渡しはだいたいExcelです。CSVExcelでいい感じに整形してExcelファイルで保存して受け渡す機会がちょいちょいあります。

で、エンジニアの人は大抵ターミナルに貼り付いてると思うので、CSVファイルを開くのもターミナルからやりたいわけです。

やりかた

解決策は上に貼ったStackOverflowの通りなのですが、単にオプションで指定すればよいだけです。

open -a "/Applications/Microsoft Excel.app" hoge.csv

簡単そうに見えますが、毎回これはタイプするのはちょっと流石に面倒くさいですね。できれば excel hoge.csv くらいになってほしいです。なので、ちょっとしたaliasを仕込みましょう。自分はzsh派なので ~/.zshrc に以下のように書きます。

alias excel="open -a /Applications/Microsoft\ Excel.app"

これで excel hoge.csv とすると、Excelを使ってcsvが開けるようになりました。

まとめ

ということで、Macでターミナルから特定のアプリを使ってファイルを開く方法でした。

ちなみにSublime TextやAtomのようなコードエディタはだいたいsublやatomのようなコマンドで呼び出せるので、こういう小細工は不要です。

必要になる機会はかなり限定的ですが覚えておくと便利なので皆さんも是非使ってみてください。