我试图解析文本文件并匹配字符集,然后在该行的末尾添加回车符以增加一些间距。我尝试了许多不同的方法来执行此操作,但没有成功。下面的代码示例导致匹配并仅返回具有匹配项的行,并且不添加回车符。
[string[]]$arrayFromFile = Get-Content -Path "C:\abc.txt"
$Return = $arrayFromFile -match 'ghijk' -split "`r"
$Return | Out-File "C:\abc.txt"
结果:我想做的是下面。查找结果“gh”,并在该行的末尾添加回车符,同时将所有内容保留在文本文件中。
来自:
收件人:
谢谢你的帮助!
最佳答案
您可以在单个管道中实现此目的:
Get-Content -Path "C:\abc.txt" | foreach {
$_
if ($_ -like "gh*") {
"" # additional empty line
}
} | Out-File "C:\abc.txt"
无需插入任何换行符或回车符,而是输出空行(空字符串)就足够了。换行符将由Out-File
自动处理。除了
-like "gh*"
(以满足示例的要求),您当然可以执行-match <your regex>
或任何您喜欢的操作。关于arrays - Powershell搜索文本文件以进行匹配,并在行尾添加回车符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/64719258/