MacOSでbash
を使用して、自分で使用するためにいくつかのman
ページを編集します。
Mac OSでは、コマンドopen -t filename
は、指定されたファイルをシステムのデフォルトのテキストエディタで開きます。
$ man somepage | col -b
指定されたman
ページを適切にレンダリングします。私がやりたいのは、レンダリングされたマニュアルページをテキストエディタで開くことです。私はこれを次のように達成することができます:
man somepage | col -b > filename && open -t filename
私はおそらくそれに満足しているはずですが、パイピングとリダイレクトのみを使用してこれを行うための「より良い方法」が必要であることが頭に浮かびました。また、上記のコマンドは、保持する必要のないファイルをファイルシステムに「散らかす」傾向があるため、残骸を削除するには別の手順が必要です。理想的には、ファイル名や、呼び出しごとに上書きされる一般的なファイル名なしで、レンダリングされたmanページをエディターで開くことができます。私は約1時間かけてこれにうなずき、さまざまなことを試みましたが、役に立ちませんでした。
私にとって最も理にかなっているのはこれでした:
$ open -t < man somepage | col -b
またはこれ:
$ open -t &1 < man somepage | col -b
しかしもちろん、シェルはファイル名としてman
をとるので、それは機能しません。私はこれを正しくすることにさえ近づいていますか?私は試してみたくてたまらないですか?
open
-f
フラグを渡して、stdinからコンテンツを読み取り、テキストエディターで開くと、パイプラインで使用できるようになります。
したがって、このようなものはあなたが望むことをするはずです:
man somepage | col -b | open -tf
参照:
open
コマンド用(また、端末からのman open
)