从文件中读取并使用Awk写入另一个文件

时间:2015-03-12 01:08:27

标签: awk

有两个制表符分隔符文本文件。我的目标是更改文件1,以便文件2的第2列中的相应值将替换为文件1中的零。

要想象,

文件1:

AA 0
BB 0
CC 0
DD 0
EE 0

文件2:

AA 256
DD 142
EE 26

文件1 - 输出:

AA 256
BB 0
CC 0
DD 142
EE 26

我在下面写了但是你可以看到我手工提供了文件2的第一行的值。我想自动完成这项任务。我该怎么办?

awk -F'\t' 'BEGIN {OFS=FS} {if($1 == "AA") $2="256";print}' test > test.tmp && mv test.tmp test

提前谢谢。

1 个答案:

答案 0 :(得分:4)

awk 'BEGIN {FS=OFS="\t"} NR==FNR{a[$1]=$2; next} {print $1, a[$1]+0}' file2 file1