我有两个文本文件。
file1.txt
AAA example1
BBB example2
CCC example3
DDD example4
FILE2.TXT
FFF example5
AAA example1
BBB example2
GGG example6
我想比较两个文件的第一列,如果匹配,则将整行从file1.txt
输出到file3.txt
,如下所示:
file3.txt
AAA example1
BBB example2
答案 0 :(得分:0)
将第二个文件的第一列的所有匹配项找到第一个文件的第一列,打印第一个文件中匹配的列,然后将其添加到file3.txt
:
awk 'NR==FNR{a[$1];next}$1 in a' file2.txt file1.txt >> file3.txt
说明:
NR
和FNR
内置awk
个变量,表示总输入记录数和当前文件中的记录数。
NR==FNR # when in the first file (file2)
{
a[$1] # build associative array on the first column of file2
next # process next line
}
($1 in a) # if value in first column of the second file (file1) is in the array, get the whole line
>> file3.txt
管道awk打印到file3的内容。