位置对象不止一个条件要删除包含单词比萨饼从下面的文本文件中的行:使用与在PowerShell中
The cat is my favorite animal. I prefer pizza to vegetables. My favorite color is blue. Tennis is the only sport I like. My favorite leisure time activity is reading books.
我跑了下面的代码,并将其成功地删除第二行。
$inputFile = "C:\Temp\Text.txt"
Get-Content $inputFile | Where-Object {$_ -notmatch 'pizza'} | Set-Content "C:\Temp\Filtered.txt"
不过,我还没有找到一种方法来去除包含的所有行或者字比萨饼或单词运动。我试过这个代码来做到这一点:
$inputFile = "C:\Temp\Text.txt"
Get-Content $inputFile | Where-Object {$_ -notmatch 'pizza' -or $_ -notmatch 'sport'} | Set-Content "C:\Temp\Filtered.txt"
但作为输出文件是一样的原来这是行不通的。
如果你不想匹配要么你需要使用'-and'不'-or'。否则,你只能过滤比萨饼和运动。 – BenH
- 而不是 - 或。 – tommymaynard
我发现'Where-Object {$ _ -notmatch'pizza | sport'}'是匹配多个条件的更好方法 –