如何将 Awk 的列替换为另一个文件中的列

如何将 Awk 的列替换为另一个文件中的列

我需要用$6from file替换from file 。谁能帮我解决语法问题?A$147B

我尝试过

cut -d, f6 fileA | paste -d, f157 fileB

但它不起作用。我也尝试过

awk '$6 fileA = $157 fileB'

但语法是错误的。

答案1

向后工作。对替换内容进行编目,然后在解析“主”文件时插入它们:

$ awk 'NR == FNR { replacements[NR]=$147 } NR != FNR { $6 = replacements[FNR]; print }' fileB fileA

要将输出保存到新文件,请照常使用 shell 重定向:

$ awk 'NR == FNR { replacements[NR]=$147 } NR != FNR { $6 = replacements[FNR]; print }' fileB fileA > newFileC

相关内容