Man
如何在帶有換行符的人中搜尋參數/標誌/選項?
在
man
參數/標誌/選項章節中通常包含換行符,如下所示:-s silent
就像上面的例子一樣,我怎麼能只找到
-s
後麵包含換行符的那個?目的是防止我
-s
在文本塊內找到一個(即在它之後沒有換行符)的情況。
這取決於您使用的尋呼機。
如果使用
less
尋呼機,搜尋字元串(當您鍵入/
or時?
)實際上是擴展的正則表達式(帶有less
- 特定的副檔名)。作為正則表達式,
-s$
將匹配位於行尾的 a-s
(或者在呼叫時-S
預設情況下搜尋忽略大小寫,除非搜尋模式包含大寫字母,鍵入區分大小寫)。將匹配 on ,後跟 0 個或多個空格字元,然後是行尾。less``man``-i``-s[[:space:]]*$``-s
使用
most
尋呼機,搜尋只是在行內容中找到的純字元串,因此您在那裡沒有選擇。您可以使用環境變數指定使用哪個分頁
man
器來顯示格式化的手冊頁。$PAGER
使用 from 的實現man-db
,您還可以使用優先於環境變數的-P
選項指定它,而$MANPAGER
環境變數本身優先於$PAGER
變數。預設使用哪個尋呼機取決於系統和
man
實現。在我的系統 (Debian) 上,man
(fromman-db
) 呼叫pager
命令(作為dpkg 替代管理,預設情況下是less
),但有一些less
特定的配置(它設置了許多LESS*
環境變數)。您也可以自己
man some-topic | less
將格式化的輸出傳送到管道less
,或者:man some-topic | less '+/-s$'
forless
在啟動時開始搜尋該模式,但請注意,使用 man-db 實現時man
,重定向輸出會禁用格式化。相反,您可以
less
使用環境變數提供其選項列表$LESS
,但請注意那裡$
有特殊含義,並且需要轉義:LESS='--use-backslash +/-s\$' man -P less some-topic