使用 powershell 从两个文件中的一个文本文件中查找唯一路径

使用 powershell 从两个文件中的一个文本文件中查找唯一路径

我有两个带有路径列表的文本文件。它们共享一些路径,但也有自己独特的路径。每个路径都在不同的行上,每个 txt 文件上有数千行。我可以使用什么 powershell 命令来提取其中一个文件(比如 file2.txt)特有的路径,并将这些唯一路径放在新的文本文件中?新文本文件中的路径应该完全与新文件不同,因此如果 file1.txt 有路径,C:\Build\2\11\s\Build\Api\Api.Entity\System.Webfile2.txt 有路径C:\Build\2\11\s\Build\Api\Api.Search\CLM.Web.config,则新文本文件中不应放入任何路径

答案1

使用Compare-Object。简化的演示:

> gc .\file1.txt
9
8
6
5
3
2

> gc .\file2.txt
1
2
4
5
7
8

> Compare-Object (gc .\file1.txt|sort) (gc .\file2.txt|sort)

InputObject SideIndicator
----------- -------------
1           =>
4           =>
7           =>
3           <=
6           <=
9           <=

您可以选择通过 SideIndicator 来过滤特定商品

> Compare-Object (gc .\file1.txt|sort) (gc .\file2.txt|sort)|? SideIndicator -eq '=>'

InputObject SideIndicator
----------- -------------
1           =>
4           =>
7           =>


> Compare-Object (gc .\file1.txt|sort) (gc .\file2.txt|sort)|? SideIndicator -eq '<='

InputObject SideIndicator
----------- -------------
3           <=
6           <=
9           <=

相关内容