我有一个像这样的文件 (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