![如何在 Linux 中搜索日志文件并转义方括号等特殊字符(即 [ 和 ])](https://linux22.com/image/87039/%E5%A6%82%E4%BD%95%E5%9C%A8%20Linux%20%E4%B8%AD%E6%90%9C%E7%B4%A2%E6%97%A5%E5%BF%97%E6%96%87%E4%BB%B6%E5%B9%B6%E8%BD%AC%E4%B9%89%E6%96%B9%E6%8B%AC%E5%8F%B7%E7%AD%89%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%EF%BC%88%E5%8D%B3%20%5B%20%E5%92%8C%20%5D%EF%BC%89.png)
如何在 Linux 中搜索日志文件并转义方括号等特殊字符(即[
和]
)
有人能指出我在这方面的正确方向吗?
我的less
日志文件如下:
less system001A.LOG
进入日志后,我按下<
(即小于号),然后按下正斜杠(即/
)并输入我想要搜索的内容:
/ERROR [section_NAME]
问题是如何在搜索时转义这些括号?因为当我运行这个时,它说没有找到模式/匹配,但实际上日志中存在这个。
答案1
^R
该手册确实提到,您可以在按 后按( CTRL+R)来关闭整个搜索字符串的正则表达式搜索/
。
答案2
如果您的系统上有 GNU 正则表达式(re_compile_pattern 在 C lib 中找到),则转义字符是通常的反斜杠 ( \
)。但是,可能会使用许多不同的正则表达式引擎less
,具体取决于其编译方式:https://github.com/gwsw/less/blob/master/pattern.c#L25