我有数据文件
cell input out type fun level
AI20 A1,A2 Z comb ((A1A2)) 2
IA2 A1,A2,A3 Z comb ((!A1A2)A3) 3
XOR A1,A2,B1 Z comb (((A1A2)B1) 3
IAD A1,A2,A3 Z comb (!((A1A2)A3)) 3
INV I1 ZN comb (!I1) 1
BUF A1,A2,A3,B1 Z comb (!(((A1A2)A3)B1)) 4
从这些数据中,我想打印一起
level field (6th column)给出的行sum 7。在这里,
level sum7我们可以选择AI2O,BUF,INV行给出级别总和为2+4+1=7并打印它们
Or可以选择XOR,IAD,INV给出总和3+3+1=7并打印它们。任何随机选择的行都有效,但level sum需要7
输出可以是
cell input out type fun level
AI20 A1,A2 Z comb ((A1A2)) 2
INV I1 ZN comb (!I1) 1
BUF A1,A2,A3,B1 Z comb (!(((A1A2)A3)B1)) 4
或者输出也可以
cell input out type fun level
XOR A1,A2,B1 Z comb (((A1A2)B1) 3
IAD A1,A2,A3 Z comb (!((A1A2)A3)) 3
INV I1 ZN comb (!I1) 1
我用awk试过了
awk '{{ sum[i] += $6} for (i=1;i<8;i++) print $0}' file
但这是每行打印 7 次而不是所需的输出。
第 2 部分。Prblm 继续第 1 部分。
带有数据的文件 2
cell input out type fun level
CLK C Z seq Cq 1
DFk C,Cp Q seq IQ 1
DFR D,C Qn seq IN 1
SKN SE,Q Qp seq Iq 1
第 2 部分的输出
cell input out type fun level
AI20 A1,A2 Z comb ((A1A2)) 2
INV I1 ZN comb (!I1) 1
BUF A1,A2,A3,B1 Z comb (!(((A1A2)A3)B1)) 4
CLK C Z seq Cq 1
XOR A1,A2,B1 Z comb (((A1A2)B1) 3
IAD A1,A2,A3 Z comb (!((A1A2)A3)) 3
INV I1 ZN comb (!I1) 1
DFk C,Cp Q seq IQ 1
IA2 A1,A2,A3 Z comb ((!A1A2)A3) 3
XOR A1,A2,B1 Z comb (((A1A2)B1) 3
INV I1 ZN comb (!I1) 1
part2 的输出是,当我们得到 file1 的 level sum 为 7 时,在其后插入 file2 的第一行。并再次检查级别总和 7 的条件,如果为真,则从 file2 插入第二行。然后再次检查级别总和为 7。如果为真,则从 file2 插入第 3 行。这样做是为了执行 3 次。