如何从Powershell脚本中删除特定单词?

时间:2019-04-03 14:25:19

标签: powershell

我有一个包含以下内容的文件:

Enable succeeded: 
[stdout]
root
daemon
bin
sys
sync
games
man
lp
gnats
nobody
systemd-network
systemd-resolve
syslog
messagebus
_apt
lxd
uuidd
dnsmasq
landscape
sshd
pollinate
traichand

[stderr]

我想使用powershell从中删除“成功启用”:,[stdout]和[stderr]。 请帮助

1 个答案:

答案 0 :(得分:1)

这将读取文件,并将所有匹配的字符串替换为空白行,然后将其写回到文件中。

$file = Get-Content C:\path\to\file.txt

$file | Foreach-Object {
    if ( ($_ -match "\[stderr\]") -or ($_ -match "\[stdout\]") -or ($_ -match "Enable succeeded:")) {
        $file[$file.IndexOf("$_")] = ''
    }
}

$file | Set-Content C:\path\to\file.txt