Man
如何在不顯示內容的情況下列出所有具有特定文本的手冊頁?
我想在所有系統手冊頁中搜尋某個字元串,但我只想獲取出現此文本的手冊頁列表。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結果的第一頁中,以前沒有返回任何內容!
您可以使用以下
-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)
最後,你可以把它變成一個函式。將此行添加到 shell 的初始化文件(
~/.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)