在进行下面的示例之前,假设两个文件file1.txt和file2.txt都包含一个唯一标识符,例如"ID",如果文件匹配,则要将file2.txt的记录附加到file1.txt中。
代码示例:
awk 'BEGIN {FS="\t"; OFS="\t"} FNR==NR {a[$1]=$0; next} $1 in a {print a[$1],$2}' file1.txt file2.txt > output.txt
在这个AWK脚本中,FS和OFS变量将输入和输出字段分隔符定为制表符。FNR和NR变量都用于处理两个文件,一直处理文件2(file2.txt)直到文件1(file1.txt)结束。当读取第一个文件时,唯一标识符(ID)的值为数组a的关键字,在处理第二个文件时,如果在数组a中找到相同的唯一标识符,则输出在file1.txt和file2.txt中的所有字段(可根据需要进行修改)。
输出结果将存储在output.txt文件中。如果希望直接输出,可以不使用"> output.txt"来规定输出文件。
注意事项:在此示例中,假设唯一标识符(ID)在两个文件中都出现在第1列。如果唯一标识符(ID)不在第1列,则需要相应地更改后面的数字或变量名。
上一篇:AWK三元运算符条件语句不起作用