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