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 手册。
审核编辑:刘清
-
VIM
+关注
关注
0文章
134浏览量
15261
发布评论请先 登录
相关推荐
评论