Less - 一次搜索多个文件

Less - search in multiple files at once

您好,我想知道是否可以使用 less 一次搜索多个文件。我面临问题,我应该通过多个日志(instance1.log、instance2.log、instance3.log ...)并搜索一些测试。现在我可以使用 less instance?.log 更少地打开多个文件,但我需要手动搜索文件并单独搜索每个文件,但我想一次搜索所有文件。有这样的选择吗?

这是一个题外话,但您可以使用 grep。看看这个 answer

我不确定这是否是你想要的,但你可以做到

cat instance?.log | less

然后搜索结果。

或者使用 grep,因为它基本上是为这个用例制作的工具:

grep -E 'search term' instance?.log

来自 less 手册页的 /pattern 命令:

          Certain characters are special if entered at  the  beginning  of
          the  pattern;  they modify the type of search rather than become
          part of the pattern:

...

          ^E or *
                 Search multiple files.  That is, if  the  search  reaches
                 the  END of the current file without finding a match, the
                 search continues in the next file  in  the  command  line
                 list.

因此,例如,使用 less 打开多个文件:

less file1 file2

然后键入 /^E/*,然后键入您的搜索模式。使用 n 通过模式匹配向前导航,使用 shift+n 通过模式匹配向后导航(跨越多个文件)。