awkを使用して2番目のファイルに正規表現を出力する方法

awkを使用して2番目のファイルに正規表現を出力する方法

テンプレートファイルがあります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

2番目のファイル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.txtPlate 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を置き換えます。

おすすめ記事