如何使用BASH脚本比对两个文本文件找出完全相同的文本内容
两个文本文件提取完全匹配行方案
已知文件内容
File1.txt
ami-1234567 ami-1234567654 ami-23456
File2.txt
ami-1234567654 ami-23456 ami-2345678965
实现目标
筛选出File2.txt中与File1.txt内容完全整行一致的所有数据,排除部分匹配的误判情况(比如短IDami-1234567不能误匹配长IDami-1234567654)。
操作方法
Linux/macOS 终端(最简便)
直接使用grep命令完成匹配,命令如下:
grep -xFf File1.txt File2.txt
参数说明:
-x:强制整行匹配,只有整行内容完全一致才算命中-F:将匹配内容作为普通固定字符串处理,不按正则表达式解析,避免特殊字符导致匹配异常-f File1.txt:从File1.txt读取所有需要匹配的内容作为匹配规则
执行后输出结果:
ami-1234567654 ami-23456
Windows PowerShell 环境
如果没有grep环境,可以用PowerShell内置命令实现:
$refLines = Get-Content -Path .\File1.txt Get-Content -Path .\File2.txt | Where-Object { $_ -in $refLines }
执行后得到的结果和上述grep命令完全一致。
内容的提问来源于stack exchange,提问作者Yogendra Pratap Singh
相关产品推荐
相关产品推荐

