我与格式的文件重新格式化文件,以管格式使用PowerShell
first:web
last:site
age:99
first:stack
last:overflow
age: 88
我试图将其转换为这种格式
first|last|age
web|site|99
stack|overflow|88
到目前为止,这是我所使用的代码得到它在一条线,但我想不通的语法来循环它,并打破它
$TextLocation = "data.txt"
$Writefile = "results.txt"
$FileLocation = "C:\Users\"
$SearchStr1 = "First:"
$SearchStr2 = "Last:"
$SearchStr3 = "Age:"
$SearchStr4 = ""
#Get content
$a =Get-Content $TextLocation |
#Find search strings and replace with pipes
Foreach-Object {
$_ -replace $SearchStr1 , "|" `
-replace $SearchStr2, "|" `
-replace $SearchStr3, "|" `
-replace$SearchStr4, "|" `
} |
# join all lines
$a -join ""
#Break after every 4th pipe
谢谢
比我的好多了。虽然我认为如果我这样做,我仍然会创建一个自定义对象的集合并将其传递给export-csv。这会增加资源开销,但如果您需要沿着其他信息执行任何逻辑或搬运,则会更灵活。 – EBGreen
我同意,这取决于。我可以看到客观结果的价值。 –
太棒了!效果很好。我同意自定义对象以及进一步的修补。我还会在那里放置一行代码以消除多余的空白。谢谢! – david