AWK中的嵌套数据筛选



你好,我有一个格式为的数据文件

n tphysical outputID ###
40-column-data-here
40-column-data-here
.
.
.
40-column-data-here
n tphysical outputID ###
40-column-data-here
40-column-data-here
.
.
.
40-column-data-here

等等。我遇到的问题是,我需要基于tpphysical过滤数据。然后将条件应用于40 column data的第二列,用于我感兴趣的物理下的列。首先我想找到awk '(NF == 4){print NR}' my/file.dat所在的NR,然后将其管道传输到另一个awk,在此基础上过滤NR。但我的文件很大,我想可能有一些更简单的方法可以做到这一点。

期望输出:

n tphisical = some_number outputID ###
column2 column8
column2 column8
.
.
.
column2 column8

将tpphysical的值保存到变量中,而不是打印NR。在后续行中使用该值。每次你得到一条有4个字段的行,你就会捕捉到tpphysical的新值:

NF == 4 {tp = $2;}
$1 == 40 { v = $2; ... do something with v, referencing tp as appropriate...}