如果从一个文件中删除第二个文件中的字符串,如何从中删除字符串?

时间:2016-05-27 00:04:19

标签: powershell

我有两个文本文件。 Bigfile.txtSmallFile.txt

BigFile.txt示例:
TEXT1
TEXT2
TEXT3
文本4

SmallFile.txt示例:
TEXT2
TEXT3

如何从BigFile中删除SmallFile.txt中包含的所有文本字符串的最有效方法是什么?

BigFile.txt输出
TEXT1
文本4

2 个答案:

答案 0 :(得分:1)

可能会使用一些错误检查,但您可能会尝试这样的

$bigfile = Get-Content C:\temp\BigFile.txt
$smallfile = Get-Content C:\temp\SmallFile.txt
$difference = Compare-Object $bigfile $smallfile | % {$_.inputobject}
$difference | Set-Content c:\temp\NewBigFile.txt

答案 1 :(得分:1)

$BigFile = Get-Content -Path BigFile.txt
$BigFile | ? { $_ -notin (Get-Content -Path SmallFile.txt) }

当您进行测试并确认结果正常时:

$BigFile = Get-Content -Path BigFile.txt
$BigFile | ? { $_ -notin (Get-Content -Path SmallFile.txt) } | Out-File -FilePath D:\BigFile.txt