我有两个文本文件,一个名为“master.txt”,另一个名为“slave.txt”。每个文本文件都包含一组用户,如下所示,我想将master.txt文件与slave.txt文件进行比较,并在slave.txt文件中报告缺少的文件。在当前结果中,似乎两个文件都进行了比较,并在两个文件中回复丢失的文件。有人可以帮帮我吗?
~]# cat master.txt
user1
user2
user3
~]# cat slave.txt
user2
user4
脚本:
$mfile = Get-Content "C:\master.txt"
$sfile = Get-Content "C:\slave.txt"
foreach ($mobj in $mfile) {
foreach($sobj in $sfile){
if ($mobj -ne $sobj) {
Write-Output "$mobj is Not Found:"
}
}
}
目前的结果:
user1 is Not Found:
user1 is Not Found:
user2 is Not Found:
user3 is Not Found:
user3 is Not Found:
预期结果(这些是master.txt中存在但不存在于slave.txt中的结果):
user1 is Not Found:
user3 is Not Found:
答案 0 :(得分:3)
比diff是一个比diff
更好的选择这是一个示例代码,幻灯片指示器显示每个文件中缺少的数据
$a = Get-Content .\master.txt
$b = Get-Content .\slave.txt
Compare-Object $a $b
输出
InputObject SideIndicator
----------- -------------
user4 =>
user1 <=
user3 <=