当前位置: 首页 > 知识库问答 >
问题:

在Powershell中从file1中删除file2中存在的行

封瑞
2023-03-14

我有一个文件1.txt,它包含:

第1行
第2行
第3行
第4行

第1行
第4行

我尝试使用这个命令,但它只有在文件2.txt中有一行时才起作用:

Get-Content C:\file1.txt | Where-Object {$_ -notmatch $(get-content C:\file2.txt)} 

注意:我不想比较2个文件看它们是否相同。

你知道吗?我对PowerShell很陌生。

共有1个答案

沈子昂
2023-03-14

下面的代码片段展示了实现相同结果的两种不同方法:

$filebefore="$env:TEMP\beforerestart.txt"    # change to match your circumstances
$file_after="$env:TEMP\after_restart.txt"    # ditto

### Compare-Object way
$array = Compare-Object $(Get-Content $filebefore) $(Get-Content $file_after)
$array | where {$_.SideIndicator -eq "<="} | 
              Format-Table -Property InputObject -AutoSize -HideTableHeaders

### -NotIn operator way
$(Get-Content $filebefore) | 
     Where-Object {$_ -notIn $(Get-Content $file_after)} 
 类似资料:
  • 问题内容: 我有两个很长但已排序的文件。如何获取第一文件中所有不在第二文件中的行? 文件1 文件2 问题答案: 这是命令的用途: 来自:

  • 我目前重构我的测试从AsserJ到hamcrest库。但有一个断言,我不能迁移到汉克雷斯特。 tmp1和tmp2在文件系统中包含两个路径。我需要验证tmp1或tmp2是否存在,但不是两者都存在。目前的断言是 什么是等效hamcrest测试?

  • 在Lambda中使用Python 3.7,如何从sample.py导入函数run()lambda_function.py 这是我的代码:File1-lambda_函数。py: 文件2-示例。py: 错误:{"错误消息":"无法导入模块'示例':没有名为'sample.py'的模块;'示例'不是一个包","错误类型":"运行时。####################################

  • 给定两个文件会产生一个算法/程序来查找文件1中的单词,而不是文件2中的单词。请注意,文件中的单词不是按顺序排列的。 这是我的思考过程: 步骤1:读取文件2的单词并将其添加到哈希集 如果两个文件中的字数都只有100或1000个,那么这个算法就可以正常工作 但是,如果两个文件都很大(数十亿字),那么此解决方案将无法工作,因此我提出了一个改进的解决方案: 步骤1:逐字阅读文件2,并按字母顺序对单词进行排

  • 我有两个ObservableList,其中一个包含一些歌曲,另一个包含与歌曲相关的目录。 我希望当从它的ObservableList中删除一个目录时,所有包含该目录的歌曲都从它们的ObservableList中删除。但是当我这样做的时候,只有带奇数id的歌曲被移除,带偶数id的仍然存在!!! 我的ObservableLists在另一个类中,“Controller”是包含ObservableList

  • 我有一个程序,它从文件中获取输入,将文件中的每个单词保存为令牌,然后将每个令牌添加到数组列表中。 问题是arrayList出现了例如[“cat”,“dog”,“”,“”,“bird”],我不想在arrayList中出现空格。 总之,我的代码如下: 应该会删除空格,我已经通过从非文件数组列表中删除空格进行了测试。奇怪的是,如果我将其更改为,它将从ArrayList中删除cat。