如何在Linux中使用less命令进行搜索文本?

举报
wljslmz 发表于 2022/09/14 10:39:26 2022/09/14
【摘要】 less 命令非常适合在终端中查看文本文件的内容,而不会弄乱屏幕。如果您正在查看一个大文件,并想要在其中查找特定文本,那么可以使用less命令,本文我将教你如何使用。 用 less 命令搜索使用 less 命令打开要查看的文件。然后按 / 键,然后按要搜索的模式,按 enter键。它将从您当前的位置开始向前搜索并将您移动到第一个找到的匹配项,匹配的模式被突出显示。可以通过按键移动到下一个匹配...

less 命令非常适合在终端中查看文本文件的内容,而不会弄乱屏幕。

如果您正在查看一个大文件,并想要在其中查找特定文本,那么可以使用less命令,本文我将教你如何使用。

用 less 命令搜索

使用 less 命令打开要查看的文件。

然后按 / 键,然后按要搜索的模式,按 enter键。

它将从您当前的位置开始向前搜索并将您移动到第一个找到的匹配项,匹配的模式被突出显示。

  • 可以通过按键移动到下一个匹配的模式n。
  • 可以通过按(shift+n) 键回到上一个匹配项。

您也可以使用空格键和 b 键上下移动页面,匹配的模式(如果有)会突出显示。

如果未找到搜索模式,您应该会在底部看到“未找到模式(按 RETURN)”消息。

💡 可以使用 ? 参数而不是 / 参数执行向后搜索,它将从您当前的位置开始向后搜索。

使用 less 执行不区分大小写的搜索

默认情况下,less 中的搜索区分大小写

要运行不区分大小写的搜索,可以加参数:

-I

可以在开始搜索之前或搜索期间使用它,工作原理都一样。

实际上,它会切换区分大小写的搜索,您再次按下它,搜索将再次区分大小写。

但是,如果您正在搜索的模式中有大写字母,您也可以使用i而不是执行不区分大小写的搜索。

可以从一开始就少用不区分大小写的模式:

less -I filename

💡 可以使用 /! 参数执行反向搜索并搜索与模式不匹配的行。

仅显示匹配行

如果不想按 n 或 N 来查看匹配模式,那么就只能通过使用& 参数而不是执行搜索来显示匹配的行/ 参数。

&pattern

与 / 参数 不同,您不会再看到突出显示的匹配模式,您只会得到一堆包含搜索模式的行。

可以使用箭头键移动到行,如果您查看底部,您会注意到它显示了行号并且它们不是连续的,因为您只看到匹配的行。

使用 less 命令开始搜索

可以在使用 less 命令打开文件后立即开始搜索关键词。

less -p pattern filename

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

less -Ip pattern filename

请注意,选项的顺序在这里很重要。

总结

因为 less 只是一个查看器,所以你不能在这里像 Vim 那样做查找替换。

在查看内容时,还有一些其他的搜索功能,可以阅读其手册页以获取更多详细信息。

在我看来,在查看文件时使用 less 进行搜索是可以的,但是,对于文件文本中的搜索,还是得依赖grep 命令。

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。