我有一个文件,同一文本共出现5次。我现在只想在批处理文件中用powershell命令替换前2个示例。
Hello -- I want to only
Hello -- replace those.
Hello
Hello
Hello
所以我的文件看起来像这样:
Goodbye
Goodbye
Hello
Hello
Hello
我的代码看起来像这样:
powershell -command "$null=new-item -force test.txt -value ((gc -encoding utf8 test.txt) -replace ('^.*$','Goodbye') | out-string)"
我尝试使用Replacing only the first occurrence of a word in a string的答案:
powershell -command "$null=new-item -force test.txt -value ((gc -encoding utf8 test.txt) -replace ('^.*$','Goodbye',2) | out-string)"
这给了我BadReplaceArgument错误。
1条答案
按热度按时间xurqigkl1#
看起来你正在寻找一个对
Regex.Replace
API的直接调用,当然-replace
操作符没有count
的重载。如果执行CLI调用,则可能会执行以下操作(注意,在
Get-Content
上使用-Raw
非常重要!):