如何检查两个单独的文件中是否存在字符串列表

2022-01-25 00:00:00 python text compare sed awk

问题描述

我有两个文件,文件 A"是 IP 地址列表,对应的 MAC 地址位于同一行.文件 B"是仅 MAC 地址的列表.我需要比较这两个文件并列出文件 A 中没有在文件 B 中找到 MAC 地址的行.

I have two files, "File A" is a list of IP Addresses with corresponding MAC addresses on the same line. "File B" is a list of only MAC addresses. I need to compare the two files and list the lines from File A that do not have MAC addresses found in File B.

文件 A:

172.0.0.1 AA:BB:CC:DD:EE:01
172.0.0.2 AA:BB:CC:DD:EE:02
172.0.0.3 AA:BB:CC:DD:EE:03

文件 B:

AA:BB:CC:DD:EE:01
AA:BB:CC:DD:EE:02

所以输出应该是:

172.0.0.3 AA:BB:CC:DD:EE:03

我正在寻找 sed、awk、grep、python 或任何能够为我提供所需文件的解决方案.

I am looking for solutions in sed, awk, grep, python or really anything that give me the file I want.


解决方案

您的输入是否真的在每一行的开头都有一个美元符号,或者这是您问题的格式怪癖?如果你可以摆脱美元符号,那么你可以使用这个:

Does your input really have a dollar sign at the start of every line, or is that a formatting quirk of your question? If you can get rid of the dollar signs, then you can use this:

fgrep -v -f fileb filea

相关文章