暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

如何在 Less 命令中执行搜索

TIAP 2022-09-15
6701

less 命令非常适合在终端中查看文本文件的内容,且不会使屏幕看起来很混乱而至眼花缭乱。

如果你正在查看一个非常大的文件,并且想在其中查找一个特定的文本,可以在 less 命令中执行搜索,而不需要手动执行。我们今天来介绍下如何实现。

使用 less 命令进行搜索

首先使用 less 命令打开要查看的文件,按下斜杠 ,然后输入要搜索的表达式(或者字符串),再然后按回车键

它将会从你当前的位置开始向前搜索,定位到第一个找到的匹配项。被找到的匹配的内容会被突出显示。

n 键可以移动到下一个被找到的匹配项,按 N(shift+n)键可以返回到上一个被找到的匹配项。

你还可以使用空格键b 键在页面上下移动,匹配项(如果有)会被高亮显示。

如果没有找到被搜索的内容,在底部会看到 “Pattern not found (press RETURN)”:

注:如果想要执行向后搜索,可以使用 ?pattern 来代替 /pattern ,它会从当前位置开始向后搜索。

执行不区分大小写的搜索

默认情况下,less 中的搜索是区分大小写的。要执行不区分大小写的搜索,可以在 less 视图中输入 -I 选项:
    -I
    在开始搜索之前,或者搜索中使用,其结果是一样的。

    实际上,它是切换了是否区分大小写的搜索;再按一次,搜索将再次区分大小写。

    另外,可以使用小写的 i 来代替 I,但是如果要搜索的字符串中含有大写字母,i 是不起作用的。所以最好使用大写的 I

    如果需要,在使用 less 命令的时候就启用不区分大小写的模式:

      less -I filename

      注:可以使用 /!pattern 来搜索与表达式不匹配的行。

      只显示匹配行

      如果觉得使用 n 或者 N 来前后查看匹配项比较麻烦,可以通过使用 &pattern 来代替 /pattern 执行搜索,这样可以在 less 命令中只显示匹配行:

        &pattern

        与 /pattern 不同,使用 &pattern 后不会将匹配项高亮显示,它只显示包含匹配内容的行:

        可以使用箭头键在各行之间移动,在底部会显示行号。但这行号是不连续的,因为终端中只显示了匹配行。

        在使用 less 命令的同时启动搜索

        事实上,在使用 less 命令打开文件后,即可进行搜索:

          less -p pattern filename

          还可以通过添加 -I 选项来执行不区分大小写的搜索:

            less -Ip pattern filename

            在这里需要注意,上述选项是有先后顺序的,如果使用 -pI ,则不会起作用。

            因为 less 只是一个查看器,所以它不能像 vim 那样进行查找替换。在使用 less 查找内容的时候,除了我们上述介绍的,还有其他的一些功能,大家感兴趣的可以查看一下 man 手册。

            以上就是本次分享全部内容,欢迎讨论。


            文章转载自TIAP,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论