如何在两个 txt 文件之间复制行

如何在两个 txt 文件之间复制行

我有两个文件 first.txt 包含:

1  
2
3
4
6

Second.txt 包含:

1
4
2

我如何删除 first.txt 中包含 second.txt 行的所有行并将它们保存到第三个文件中

注意:second.txt是first.txt的一部分

答案1

详细

$One = Get-Content First.txt
$Two = Get-Content Second.txt
Compare-Object -ReferenceObject $One -DifferenceObject $Two |
    select -expand InputObject |
Set Content Out.txt

袖珍的

( Compare (gc one.txt) (gc two.txt) ).InputObject | sc Out.txt

获取内容将文件 contests 检索为一串行。

比较对象正如其名称所暗示的那样!

答案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

相关内容