如何在bash中遇到字符串后提取以下行

如何在bash中遇到字符串后提取以下行

例如,我有一个文本文件名

> "result_merge_file.txt"

它保存 10 个不同文件的日志,这些文件合并并保存在该文件中。

现在我正在尝试

提取某个部分

从合并的日志文件“result_merge_file.txt”并将其发送到另一个文件

“提取后的结果.txt”

> extract a certain section looks like following

PerformanceINFO                                             
            UVM_INFO_PERF ****NIB-FIB Axis Interface Per-packet Performance Report****                                             
             interface_name            : NIB-FIB,                                             
             date                      : NAN,                                             
             interface_description     : injection,                                             
             port_number               : 0,                                             
             clock_period (ps)         : 4850,                                             
             number_of_diff_packets    : 10,                                             
             payload_sizes (bytes)     : {312, 1100, 1132, 1404, 1666, 3100, 3610, 4998, 7922, 8544, }                                             
             packet_datarate (bits/clk): {116, 127, 125, 120, 119, 121, 124, 121, 124, 121, }
`

到目前为止我尝试过的是

grep -A3 -P '^PerformanceINFO$' temp_log.txt > result_after_Extraction.txt

但给出空白结果

答案1

PerformanceINFO行不是以 INFO 结尾,它有尾随空格。

所以,去掉这个$标志,或者

grep -A3 '^PerformanceINFO\s\+$' 

相关内容