繁体   English   中英

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

[英]Compare Two Files and Print Lines That Don't Match

我正在尝试比较两个文件(文件1和文件2),并从文件1中打印出与文件2中的列表匹配的整行-理想情况下是在新的.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终端上运行。

任何想法或指示将不胜感激。

您必须像下面那样纠正

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

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

grep -vf file2 file1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM