如何用awk解析两次

如何用awk解析两次

我有一个像这样的文件 (sep = ;):

kit;;;;;;;
Software Version = cti;;;;;;;
Date And Time of Export = 06/02/20  14:14:11;;;;;;;
Experiment Name = taqpath-AB17500-platename;;;;;;;
Instrument Software Version = ;;;;;;;
Instrument Type = sds7500fast;;;;;;;
Instrument Serial Number = ;;;;;;;
Run Start Date = Tue Jun 02 12:00:40 CEST 2020;;;;;;;
Run End Date = Tue Jun 02 13:14:42 CEST 2020;;;;;;;
Run Operator = FE;;;;;;;
Batch Status = VALID;;;;;;;
;;;;;;;

我想解析第 4 行并传递第 7 行和第 12 行中的一些信息以获得以下输出:

kit;;;;;;;
Software Version = cti;;;;;;;
Date And Time of Export = 06/02/20  14:14:11;;;;;;;
Experiment Name = taqpath-AB17500-platename;;;;;;;
Instrument Software Version = ;;;;;;;
Instrument Type = sds7500fast;;;;;;;
Instrument Serial Number = AB17500;;;;;;;
Run Start Date = Tue Jun 02 12:00:40 CEST 2020;;;;;;;
Run End Date = Tue Jun 02 13:14:42 CEST 2020;;;;;;;
Run Operator = FE;;;;;;;
Batch Status = VALID;;;;;;;
Method = taqpath;;;;;;;

我尝试 -F "= 第 4 行,以便在 $2 中获得正确的信息,但在我不知道如何使用 -F "-" 重新解析第二次之后。

你知道该怎么做吗?

谢谢

答案1

使用split

awk '
    BEGIN{OFS=FS=" = "}
    NR==4{split($2,a,"-")}
    NR==7{$2=a[2]}
    NR==12{$2=a[1]$0; $1="Method"}
1' file

相关内容