awk列替换,但文件之间的行号不同

时间:2014-04-07 15:28:30

标签: replace awk

我想用文件b.com的50到130的第6,第7,第8列行替换文件a.com的20到100行的第3,第4和第5列行。我知道命令

awk 'NR==FNR {fld6[NR]=$6; fld7[NR]=$7; fld8[NR]=$8; next}
FNR>19 && FNR<101 {$3=fld6[FNR]; $4=fld7[FNR]; $5=fld8[FNR]}1' b.com a.com

- 如果a.com b.com的行号相同(20到100),将会工作,但在这里它们不是(a.com为20到100,b.com为50到130)。那么我如何用awk替换不同行号的文件列?

1 个答案:

答案 0 :(得分:0)

您可以尝试将30添加到FNR

FNR>19 && FNR<101 {$3=fld6[FNR+30]; $4=fld7[FNR+30]; $5=fld8[FNR+30]}