linux - Linux 上不同元素之间输出的 Grepping 日志

标签 linux grep

我将如何反复搜索文件,从一段文本开始到另一段结束?
例如,我有一个非常大的日志。整个日志中有一些部分以特定文本开始和结束,例如:

[startset]
blah blah blah
[/startset]

我只想收集[startset] 和[/startset] 之间的文本。此部分重复出现,因此我需要循环并继续执行此操作,直到所有文本都已收集(并转储到单独的文件中)

谢谢

最佳答案

您可以使用 awk。这使用来自 Bens 帖子的数据:

awk '/\[\/startset\]/ {f=0} f; /\[startset\]/ {f=1}' file
grab this 1
grab this 2
grab this 3
grab this 4

总的来说

awk '/stop/ {f=0} f; /start/ {f=1}'

如果满足条件,使用标志 f 控制输出。

关于linux - Linux 上不同元素之间输出的 Grepping 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24616795/

相关文章:

android - 在 linux 上运行 eclipse, "eclipse is not executable."

linux - 在 shell 脚本中运行一次 cmd

linux - 使用 awk 或类似的东西按特定列中值的差异逐行解析

linux - 在文件内搜索和替换

macos - 我如何使用 Mac OS X(和 UNIX)命令行工具,如带有 UTF-16 文件的 grep?

linux - 是否可以使用 wget 从网页下载 PHP 脚本?

linux - 如何将查找的输出通过管道传输到 pdf 查看器

linux - Zip 函数垃圾目录路径

linux - 如何在其包含的时间间隔内对文本文件中的项目进行排序

linux - 使用 printf 通过 grep 显示提取的字符串并用作脚本中的用户输入