1

如果我比较 2 个文本文件,如何获取 txt 文件中的文本行。我有 2 个测试文件。mba.txt 和 mbanew.txt

mba.txt

Pre-Validation/SalesandServiceinvoicing,SalesandServiceinvoicing  
Pre-Validation/SalesandServiceinvoicing/Salesinvoice,Salesinvoice   
IDT-BTStarProject,IDT-BTStarProject,IDT

mbanew.txt

Pre-Validation/SalesandServiceinvoicing,SalesandServiceinvoicing    
Pre-Validation/SalesandServiceinvoicing/Salesinvoice,Salesinvoice     
IDT-BTStarProject,IDT-BTStarProject,IDT  
IDT-BTStarProject/BBP,BBP  
IDT-BTStarProject/ARIS,ARIS  
IDT-BTStarProject/Servicetaxratemaster,Servicetaxratemaster  

所以我想找出在 mbanew.txt 中遗漏了多少行文本文件,我需要获取这些文本行。在上面的例子中,我的答案是 2,输出应该是:

IDT-BTStarProject/BBP,BBP    
IDT-BTStarProject/ARIS,ARIS  
IDT-BTStarProject/Servicetaxratemaster,Servicetaxratemaster  

我在 PowerShell 中尝试使用此代码

cls
compare-Object -referenceobject $(get-content "D:\mba.txt") -differenceobject $(get-content "D:\mbanew.txt")

但徒劳无功。

4

1 回答 1

1

compare-object如果您期望它的行为类似于 unix ,那就太可悲了diff。根据我的最佳选择将是

  1. fcMS-DOS 命令
  2. WinMerge GUI 差异工具

一个简单的fc用法将输出为

`fc mba.txt mbanew.txt`

Comparing files mba.txt and mbanew.txt
***** mba.txt
Pre-Validation/SalesandServiceinvoicing,SalesandServiceinvoicing
Pre-Validation/SalesandServiceinvoicing/Salesinvoice,Salesinvoice
IDT-BTStarProject,IDT-BTStarProject,IDT
***** mbanew.txt
Pre-Validation/SalesandServiceinvoicing,SalesandServiceinvoicing
Pre-Validation/SalesandServiceinvoicing/Salesinvoice,Salesinvoice
IDT-BTStarProject,IDT-BTStarProject,IDT
IDT-BTStarProject/BBP,BBP
IDT-BTStarProject/ARIS,ARIS
IDT-BTStarProject/Servicetaxratemaster,Servicetaxratemaster
*****
于 2015-07-03T15:31:27.730 回答