-fは、標準入力の内容を一時ファイルに書き出し、テキストエディタで開くオプションである。他のコマンドの出力をそのままエディタで確認したいときに使う。

参考: 【open】コマンドでファイル・ディレクトリを開く

-fで標準入力を開く

$ echo -e "line1\nline2\nline3" | open -f

標準入力の内容がデフォルトのテキストエディタ(多くの場合TextEdit)で開かれる。入力は/private/tmp/open_XXXXXXXX.txtのようなランダムな名前の一時ファイルとして保存される。

$ find /tmp -name "open_*.txt"
/private/tmp/open_VcNLHBLE.txt

対話的に入力する場合は、Control + DでEOFを送って入力を終える。

-aと組み合わせてアプリを指定する

-f-aと組み合わせて、開くアプリケーションを指定できる。

$ echo "test" | open -f -a TextEdit

用途

lsgit logのような他コマンドの出力を、そのままテキストエディタで検索・編集したい場合に使う。

$ git log --oneline | open -f

参考

open command - Open a file, folder or URL