假设我有一堆文本行,如下所示:
Car
Tree
Bike
最后我想要的是:
[
{
"name": "Car",
"type": "object"
},
{
"name": "Tree",
"type": "object"
},
{
"name": "Bike",
"type": "object"
}
]
有什么工具可以做到这一点吗?基本上我想指定这样的模板:
{
"name": "$",
"type": "object"
}
其中$
将被我的源文本中的一行替换。
答案1
答案2
如果您希望编写脚本 - PowerShell 可以相当快地完成:
$template = $('
{
"name": "###",
"type": "object"
}
')
$alltext = "["
ForEach ($item in (Get-Content C:\Installs\objects.txt)) {
$alltext += $template -replace "###", $item
}
$alltext += "]"
Write-Host $alltext
这还有一个额外的好处,就是可以通过在多个位置指定###来进行多次替换。如果您愿意,您还可以使用 CSV 文件进行多次替换。
为此,请确保您有不同的占位符,并记住 CSV 文件中的第一行将是代码中使用的标题: