文件1中的行基于列在文件2中不存在

问题描述 投票:0回答:1

我有2个文件

文件1-IN.txt

08:43:22 IN 0xabc  
08:43:31 IN 0xdef  
08:54:45 IN 0xghi  
08:54:45 IN 0xjkl

文件2-OUT.txt

08:43:32 OUT 0xdef 
08:54:45 OUT 0xghi 
08:54:45 OUT 0xjkl

[基本上,我正在对网络问题进行故障排除,IN.txt是进入的数据包,OUT.txt是出去的数据包,第3列是数据包代码,因此它应与同一事务中的数据包匹配。

我想知道所有没有匹配的OUT数据包的IN数据包。

所需的输出:

08:43:22 IN 0xabc
linux shell
1个回答
0
投票

首先,从文件中删除输入和输出文本(可能还有日期列),然后像这样运行fgrep

$ fgrep -v IN.txt -f OUT.txt 

08:43:22  0xabc  
08:43:31  0xdef  

注意,在这种情况下,匹配项也在日期列上。


0
投票

您可以使用for。对于$(cat IN.txt | awk'{print $ 3}')中的i;做grep -i $ i OUT.txt | wc -l;完成

© www.soinside.com 2019 - 2024. All rights reserved.