从一个文件中搜索值并将其替换为其他文件

时间:2018-06-13 11:52:20

标签: shell awk

所以我在Linux中:

FILE1.TXT:

Owner=XYZ;Language=English
Owner=XYY;Language=English
Owner=XAA;Language=Swedish
.
.
.

FILE2.TXT:

Owner=XYZ;Language=English;Country=Russia
Owner=XYY;Language=Finnish;Country=Finland
Owner=XAA;Language=Swedish;Country=Norway
.
.
.

我想从file1.txt找到所有所有者的语言,并将其替换为其他文件file2.txt(更新那些是正确的)。线的顺序可以变化,线也包含其他字段,如Country = Russia等...

1 个答案:

答案 0 :(得分:1)

请您试着跟随并告诉我这是否对您有帮助。

awk -F";" 'FNR==NR{a[$1]=$NF;next} ($1 in a){$2=a[$1]} 1' OFS=";" file1.txt file2.txt

输出如下。

Owner=XYZ;Language=English;Country=Russia
Owner=XYY;Language=English;Country=Finland
Owner=XAA;Language=Swedish;Country=Norway