仅保留 txt 文件中含有特定单词/字符的行(Powershell)(Windows 批处理文件)

仅保留 txt 文件中含有特定单词/字符的行(Powershell)(Windows 批处理文件)

我只想保留包含该单词的行example并删除所有其他行。

我以为这会起作用,但它却与我想做的相反:

PowerShell -Command "gci *.txt | foreach { (cat $_.FullName | ? { $_ -notlike '*example*' }) | set-content $_.FullName}"

我希望最终能得到一个这样的命令:

This line contains example.
This line does not.

变成这样:

This line contains example.

这似乎很简单,但我找不到任何答案。我找到的解决方案要么不起作用,要么起到相反的作用,要么包括一堆我不需要做的其他事情。

干杯。

答案1

当前命令使用-notlike; ,这意味着您不想要包含example与您真正想要的相反单词的行。请改用-like。您的命令将是:

PowerShell -Command "gci *.txt | foreach { (cat $_.FullName | ? { $_ -like '*example*' }) | set-content $_.FullName}"

相关内容