有两个制表符分隔符文本文件。我的目标是更改文件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
提前谢谢。
答案 0 :(得分:4)
awk 'BEGIN {FS=OFS="\t"} NR==FNR{a[$1]=$2; next} {print $1, a[$1]+0}' file2 file1