特定のLinuxコマンドのコマンドやオプション名を忘れたが、一部のみ覚えている時にmanコマンドの結果からgrepしたいことがあります。
manコマンドで特定のLinuxコマンドのドキュメント読もうとすると、Manual pageが起動しますが標準出力されないためgrepコマンドで対象を絞り込むことができません。
調べてみると、colコマンドでこの問題を解決できることがわかりました。
man col
すると下記の通り、標準入力から改行文字でフィルタリングすることがわかります。
NAME col — filter reverse line feeds from input
man systemctl | col | grep list
のような使い方をするのですが、より具体的なユースケースは以下のようになります。
$ man systemctl | col | nl | grep -A 2 list
nlコマンドは行番号付きで標準出力を行います。
grepコマンドのオプションである-A
は、一致した文字列から後方n番目までをまとめて出力してくれます。
まとめ
manの結果をgrepできるようにするには、colコマンドを使うとよい
- 作者: 沓名亮典
- 出版社/メーカー: 技術評論社
- 発売日: 2015/06/05
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (2件) を見る