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\+$' 

관련 정보