awk를 사용하여 두 번째 파일에 정규식을 출력하는 방법

awk를 사용하여 두 번째 파일에 정규식을 출력하는 방법

템플릿 파일이 있습니다 A.txt(9월 = \t).

File Name   novaprime-ct043904-TB_2140.pcrd
Created By User admin
Notes   
ID  
Run Started 09/17/2020 01:19:12 UTC
Run Ended   09/17/2020 03:12:22 UTC
Sample Vol  30
Lid Temp    105
Protocol File Name  Cll Novaprime.prcl
Plate Setup File Name   CFX-TB_2140-20200916.pltd
Base Serial Number  CT043904

두 번째 파일 B.txt(9월 = \t):

Cycle   Well    Value   Target  Content
1   A1  5.07368111264623    EC  Unkn-01
1   A1  3.06982862746599    FT  Unkn-09
1   A1  2.46545646544623    EC  Unkn-01

A.txt10행 (굵게)의 정보를 다음 새 열에 추가하고 싶습니다 B.txt.Plate Setup File Name CFX-TB_2140-20200916.pltd

C.txt(9월 = )을 가지려면 \t:

Cycle   Well    Value   Target  Content Plate
1   A1  5.07368111264623    EC  Unkn-01 TB_2140
1   A1  3.06982862746599    FT  Unkn-09 TB_2140
1   A1  2.46545646544623    EC  Unkn-01 TB_2140

이를 위해 "-"를 구분 기호로 사용하여 다양한 awk 명령을 시도했지만 작동하지 않았습니다. 무엇을 해야할지 아시나요? 감사해요

답변1

awk 'BEGIN{FS=OFS="\t"}
     NR==FNR {if (/^Plate Setup File Name/) {split($2,a,"-");id=a[2]};next}
     {if (FNR==1) $6="Plate"; else $6=id} 1' A.txt B.txt > C.txt

이는 "Plate Setup Filename" 행의 "Plate Setup Filename" 행을 스캔하고 A.txt값 부분을 위의 필드로 분리하고 -"Plate" 부분을 저장합니다. 처리되면 B.txt적절한 제목 항목이나 보드 ID를 대체합니다.

관련 정보