我需要比较2个文本文件。这是一个示例:
PS > type file1
1
2
3
4
5
PS > type file2
3
4
5
6
现在,我需要找到file1中存在但file2中没有的行。
在Linux/bash
中,我可以这样操作:
$ comm -23 file1 file2
1
2
如何在PowerShell
中做到这一点?
答案 0 :(得分:0)
您可以使用compare-object scriptlet查找差异。
PS > compare-object (get-content file1) (get-content file2)
InputObject SideIndicator
----------- -------------
6 =>
1 <=
2 <=
区别在于.net对象的数组形式。因此,您可以在该数组中进行过滤,并仅选择边号为<=
的那些条目。然后仅打印对象的InputObject
字段。
PS > compare-object (get-content file1) (get-content file2) | Where-Object -FilterScript { $_.SideIndicator -eq "<=" } | Select-Object -ExpandProperty InputObject
1
2