目标:我需要从文件中删除最后一个|
,前提是它确实是文件中的最后一个\w
字符。
为什么附加以下语法而不是替换?
[IO.File]::ReadAllText(".\example.txt") -replace '`|$','' > .\example.txt
我也试过
[IO.File]::ReadAllText(".\example.txt") -replace '\|$','' > .\example.txt
......似乎没有做任何事情。毫不奇怪,与Get-Content
的等价物不起作用:
(Get-Content .\example.txt) | ForEach-Object {$_ -replace '$\|', ''} | Set-Content .\example.txt
我认为正确解析管道是一个问题,但我不确定如何补偿它。
答案 0 :(得分:0)
感谢Freenode上#powershell的一些帮助,我现在就拥有它。
$Content = Get-Content example.txt;
If ($Content[-1] -eq '|') {
$Content.Substring(0,$Content.Length-1) > example.txt
}