如何检查两个单独的文件中是否存在字符串列表
问题描述
我有两个文件,文件 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
相关文章