【问题标题】:awk column replacement, but line numbrs are different between filesawk 列替换,但文件之间的行号不同
【发布时间】:2014-04-07 23:41:51
【问题描述】:

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

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 替换具有不同行号的文件列?

【问题讨论】:

    标签: replace awk


    【解决方案1】:

    你可以尝试给FNR加30:

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

    【讨论】:

      猜你喜欢
      • 2019-05-02
      • 1970-01-01
      • 1970-01-01
      • 2017-09-18
      • 1970-01-01
      • 1970-01-01
      • 2021-11-17
      • 2015-05-08
      • 1970-01-01
      相关资源
      最近更新 更多