【发布时间】:2020-09-14 22:01:46
【问题描述】:
我有一个脚本,它读取多个调试日志,将其附加到临时文件,然后在调试文件上执行tail -f,以便我们可以在单个窗口中监控调试事件并轻松查看用户操作何时引发事件。还有一堆元数据也写入了这些调试日志,我不想将它们包含在监控脚本的输出中。
有没有办法可以使用sed 或awk 仅打印大括号(包括大括号)中包含的数据?大括号内的数据可以而且总是跨越多行。
数据可能如下所示:
DON'T PRINT THIS DATA:!@#%$%^
DON'T "!@#()*& PRINT THIS DATA EITHER
}
DON"T PRINT THIS
{
PRINT THIS DATA BLOCK
AND THIS DATA
AND THIS LINE TOO:!@#(*&
}
DONT:!@# \/PRINT THIS
{
BUT PRINT THIS
}
【问题讨论】:
-
您能否提供一个正在解析的输出示例? Bash 主义可以在没有单独过程的情况下做到这一点。
-
{和}会出现在同一行吗? -
@jeremysprofile 否。大括号将始终单独在线。
-
是的,在 sed 中很简单。但我们要求您先展示自己的努力。