比较两个不匹配的文件和打印行

时间:2017-03-09 13:57:38

标签: linux python-2.7 awk

我尝试比较两个文件(file1和file2)并打印file1中的完整行,匹配file2中的列表 - 理想情况下是新的.txt文件,但是当我运行awk时它没有打印任何东西。

file1 example                    file2 example
12345 /users/test/Desktop        543252 
54321 /users/test/Downloads      12345  
0000  /users/test/Desktop        11111
                                 0000

expected output
54321 /users/test/Downloads 

我试过的命令是

awk 'NR==FNR{a[$1]++;next};a[$1] ==0' file1.txt file2.txt

理想情况下,我希望能够将其构建成一个我正在编写的python程序(不知道是否可能)如果不是我会感到高兴它可以通过linux终端运行。

任何想法或指示都会感激不尽。

2 个答案:

答案 0 :(得分:3)

您必须更正下面的

awk 'FNR==NR{ a[$1]; next } !($1 in a)' file2 file1

答案 1 :(得分:1)

您可以使用grep获得预期的输出:

grep -vf file2 file1