我有两个文件 first.txt 包含:
1
2
3
4
6
Second.txt 包含:
1
4
2
我如何删除 first.txt 中包含 second.txt 行的所有行并将它们保存到第三个文件中
注意:second.txt是first.txt的一部分
答案1
答案2
这是获取“在第一,不在在第二”列表的另一种方法。[咧嘴笑]
它能做什么 ...
- 当准备真正执行此操作时,假装读取两个文本文件
,删除整个#region/#endregion
块并用来Get-Content
加载文件。 - 使用
.Where()
第一个集合上的集合方法来过滤掉第二个集合中不存在的项目 - 将剩余的项目分配给
$ThirdFile
- 屏幕上显示
我认为你将结果保存到文件中不会有问题,所以这个任务就交给你了。[咧嘴笑]
代码 ...
#region >>> fake reading in a text file
# in real life, use Get-Content
$FirstFile = @'
1
2
3
4
6
'@ -split [System.Environment]::NewLine
$SecondFile = @'
1
4
2
'@ -split [System.Environment]::NewLine
#region >>> fake reading in a text file
$ThirdFile = $FirstFile.Where({$_ -notin $SecondFile})
$ThirdFile
输出 ...
3
6