要从整个文件中找到第一次出现目标字符串,这里以“Hello”为例。我们可以使用 cat 命令结合管道来实现。具体命令如下:

$ cat filename | grep -m 1 "Hello"

其中:

  • filename :需要查看的文件名或路径。
  • cat filename :将整个文件内容打印到标准输出。
  • | :管道操作符,用于将 cat 的输出传递给下一个命令。
  • grep -m 1 "Hello" :在输入中查找第一个出现的 “Hello”,并将结果打印到标准输出。
  • -m 1 :只匹配第一次出现的 “Hello”。


如果我们变更需求,希望在找到之后,能同时查看它之后的其他内容,该怎么操作呢?

我们可以使用 tail 命令来同时查看之后的其他内容。具体命令如下:

$ cat filename | grep -m 1 "Hello" -A 10 | tail -n +2

其中:

  • filename :需要查看的文件名或路径。
  • cat filename :将整个文件内容打印到标准输出。
  • grep -m 1 "Hello" -A 10 :在输入中查找第一个出现的 “Hello”,并打印出之后的 10 行内容。
  • -A 10 :匹配行以及之后的 10 行。
  • tail -n +2 :显示 grep 命令的输出结果的第二行开始的所有内容。
  • -n +2 :从第二行开始显示。

由此,我们也能知道,如果我们想要打印其之后的所有内容,只需要把-A 后面的参数变到最大即可,比如99999。