特定の文字列に対してすべてのシステムマニュアルページを検索したいのですが、このテキストが表示されるマニュアルページのリストを取得したいと思います。 Googleが返した結果の最初の2ページは、私が望む回答を提供していません(該当する回答がある場合)。
説明します。
hairpin
この単語が表示されるすべてのマニュアルページを見たいです。私はタイピングを続けておりman -K hairpin
、出てきた内容は私がタイピングしていたものと似ていましたman nmcli
。を介してこのマニュアルページを終了すると、次の画面がq表示されます。
--Man-- next: bridge(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
ここでCtrl+を入力し続けると、D上記のコマンドプロンプトに戻ることができます。
--Man-- next: bridge(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: lldptool-evb22(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: systemd.network(5) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: nm-settings(5) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: nm-settings-ifcfg-rh(5) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: systemd.directives(7) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
私が尋ねているのは、以下の場所のリストを取得できるかどうかman pages
です。 :hairpin
man -<some-option> -K hairpin
nmcli(1)
bridge(8)
lldptool-evb22(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)
編集:
文を使用してGoogleを検索すると、特定のクエリを解決した結果が常に返されるわけではありません。これは明らかにこの質問の場合であり、一部の人々が指摘したように、実際には重複していました。
ただし、Ubuntuシステムから返された特定の出力が表示されるため、削除しないことをお勧めします。 Ubuntuユーザーはこの質問から助けを得ることができます。
編集2:今この質問を
検索すると、skip (Ctrl-D)
Googleの結果の最初のページに表示されますが、以前は何も返されませんでした!
答え1
次の-w
オプションを使用できます。
-w, --where, --path, --location
Don't actually display the manual pages, but do print the loca‐
tion(s) of the source nroff files that would be formatted.
これはあなたが要求したほとんどの内容を返します。
$ man -wK hairpin
/usr/share/man/man1/nmcli.1.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/bridge.8.gz
/usr/share/man/man5/systemd.network.5.gz
/usr/share/man/man5/nm-settings.5.gz
/usr/share/man/man5/nm-settings-ifcfg-rh.5.gz
/usr/share/man/man7/systemd.directives.7.gz
十分でない場合は、形状に解析できます。
$ man -wK hairpin | perl -pe 's#.*/([^/]+)\.(\d+)\.gz#$1($2)#'
nmcli(1)
ip-link(8)
bridge(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)
最後に、これを関数に置き換えることができます。シェルの初期化ファイルに次の行を追加します(~/.bashrc
例:)。
function sman(){ man -wK "$@" | perl -pe 's#.*/([^/]+)\.(\d+)\.gz#$1($2)#'; }
その後、次を実行できます。
$ sman hairpin
nmcli(1)
ip-link(8)
bridge(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)