Regular-Expression

所有空格在 man 中都匹配

  • March 13, 2022

在帶有 Bash 4.4.20(1) 的 WSL-Ubuntu 18.04 中manless我在man grep命令內部執行,-o,| 旨在將 -o 與逗號或後面的空格匹配。

但是,文件中的所有空格都匹配了,為什麼會這樣?我怎麼能只匹配 -o 和逗號或後面的空格?

作為正則表達式,"-o,| "匹配"-o,"" "

使用-o(,| )or-o[, ]匹配 on-o後跟,or 或空格。或者-o\>對於-o後面沒有單詞字元的 a 單詞字元是下劃線或在語言環境中歸類為 alnum 的字元)。

而不是使用man,你可以使用infoinfo手冊,尤其是 GNU 軟體的手冊(例如grep在 Ubuntu 上找到的實現)通常更完整,更重要的是這裡有一個可搜尋的目錄和索引。

它使跳轉到文件中的特定主題變得更加容易。

例如,使用:

info -- grep -o

您將直接跳轉到該-o選項的說明。

在 內info,您還可以按i調出索引(並-o在此處輸入Tab完成),或I(大寫i)獲取給定搜尋字元串的索引條目列表。

但是請注意,在某些系統上,即使是 GNU 系統(例如 Debian/Ubuntu),info有時也不會預設安裝格式文件。您可能需要安裝一些somesoftware-doc軟體包來獲取格式的文件somesoftwareinfo

引用自:https://unix.stackexchange.com/questions/694231