我是powershell世界的新手,当然我被卡住了。我试图迭代文本文件,找到一些行并编辑它。不能使用简单的替换标志,因为我有一些其他的逻辑参与。
所以我的方法是这样的:
Get-ChildItem -Path $JsonsFolderPath -File -Recurse -Filter *.json | ForEach-Object {}
用这一行迭代$JsonsFolderPath
文件夹中的所有json。
现在,热迭代通过所有行的文件,并做一些自定义逻辑?
我试过这样的方法:(这是在上前襟内)
$content = Get-Content -Path $_.FullName |
ForEach-Object {
if(//something)
{
return ModifyFunction($_)
}
else
{
return $_ // do not modify
}
} | Set-Content -Path $_.FullName
如何处理这个问题?
1条答案
按热度按时间ffscu2ro1#
你可以在powershell中循环这些行
你也可以添加条件或计数器来编辑特定的行或特定的行号。对于特定的行号,只需在for循环之前声明一个计数器变量和一个目标行号。在for循环中将计数器递增1,并在替换该行内容之前检查是否$counter-eq $targetLineNumber。
如果你知道确切的字符串,你想替换,那么我建议你到这个链接:
https://shellgeek.com/powershell-replace-line-in-file/
干杯。