这是我的.txt文件。
CH: "[email protected]", "[email protected]"
DL: "[email protected]", "[email protected]"
KM: "[email protected]", "[email protected]"
CE: "[email protected]", "[email protected]"
DE: "[email protected]", "[email protected]"
KL: "[email protected]", "[email protected]"
PR: "[email protected]", "[email protected]"
EC: "[email protected]"
我希望输出的结果是这样的。
Building | Email
CH: [email protected]
我对powershell很陌生,请帮助我
这个问题很容易解决。
那么,让我们假设输入的是一个名为 "Buildings.txt "的文本文件。 我们可以像这样把它加载到内存中。
$textFile = Get-Content .\Buildings.txt
接下来,我们可以把这个文件分成几行,通过调用 .Split()
方法,并给它newline的重载,看起来像这样。
$Lines = $textFile.Split("`n")
$lines.Count
>8
然后我们就可以简单地步入每一行,然后用冒号分割这些行。:
最后,建立一个对象发送到屏幕上,或者放到一个文件中,或者什么的。
ForEach($l in $Lines){
$building = $l.Split(":")[0].Trim()
$email = $l.Split(":")[1].Trim()
[pscustomObject]@{
Building = $building;
Email = $email
}
}
运行该程序后,我们会得到这样的结果,它是进一步自动化的有用格式。
Building Email
-------- -----
CH "[email protected]", "[email protected]"
DL "[email protected]", "[email protected]"
KM "[email protected]", "[email protected]"
CE "[email protected]", "[email protected]"
DE "[email protected]", "[email protected]"
KL "[email protected]", "[email protected]"
PR "[email protected]", "[email protected]"
EC "[email protected]"
这应该能让你朝着正确的方向前进. 如果没有,请留言:)
我不太清楚你想要的是什么。
如果这是你的数据,它已经是一个表了,这是一个格式化的工作。
'
CH: "[email protected]", "[email protected]"
DL: "[email protected]", "[email protected]"
KM: "[email protected]", "[email protected]"
CE: "[email protected]", "[email protected]"
DE: "[email protected]", "[email protected]"
KL: "[email protected]", "[email protected]"
PR: "[email protected]", "[email protected]"
EC: "[email protected]"
' |
Out-File -FilePath 'D:\Temp\EmailData.txt'
Get-Content -Path 'D:\Temp\EmailData.txt'
<#
# Results
CH: "[email protected]", "[email protected]"
DL: "[email protected]", "[email protected]"
KM: "[email protected]", "[email protected]"
CE: "[email protected]", "[email protected]"
DE: "[email protected]", "[email protected]"
KL: "[email protected]", "[email protected]"
PR: "[email protected]", "[email protected]"
EC: "[email protected]
#>
你可以直接把它读成一个表格....
Import-Csv -Path 'D:\Temp\EmailData.txt' -Delimiter ':' -Header Building, Email
<#
# Results
Building Email
-------- -----
CH [email protected], "[email protected]"
DL [email protected], "[email protected]"
KM [email protected], "[email protected]"
CE [email protected], "[email protected]"
DE [email protected], "[email protected]"
KL [email protected], "[email protected]"
PR [email protected], "[email protected]"
EC [email protected]
#>
.再输出回来就可以了。然而,这样做就有点多此一举了
Import-Csv -Path 'D:\Temp\EmailData.txt' -Delimiter ':' -Header Building, Email |
Export-Csv -Path 'D:\Temp\EmailData.csv' -NoTypeInformation
查看原始数据
Get-Content -Path 'D:\Temp\EmailData.csv'
<#
# Results
"Building","Email"
"CH","[email protected], ""[email protected]"" "
"DL","[email protected], ""[email protected]"" "
"KM","[email protected], ""[email protected]"" "
"CE","[email protected], ""[email protected]"" "
"DE","[email protected], ""[email protected]"" "
"KL","[email protected], ""[email protected]"" "
"PR","[email protected], ""[email protected]"" "
"EC","[email protected]"
#>
查看表格视图
Import-Csv -Path 'D:\Temp\EmailData.csv'
<#
# Results
Building Email
-------- -----
CH [email protected], "[email protected]"
DL [email protected], "[email protected]"
KM [email protected], "[email protected]"
CE [email protected], "[email protected]"
DE [email protected], "[email protected]"
KL [email protected], "[email protected]"
PR [email protected], "[email protected]"
EC [email protected]
#>
如果你是说,你想把上面的样子放在一个文件里,比如说以后打印,你就可以这样输出。
Import-Csv -Path 'D:\Temp\EmailData.csv' |
Out-File -FilePath 'D:\Temp\EmailData.dat'
Get-Content -Path 'D:\Temp\EmailData.dat'
<#
# Results
Building Email
-------- -----
CH [email protected], "[email protected]"
DL [email protected], "[email protected]"
KM [email protected], "[email protected]"
CE [email protected], "[email protected]"
DE [email protected], "[email protected]"
KL [email protected], "[email protected]"
PR [email protected], "[email protected]"
EC [email protected]
#>
文件的扩展名其实并不重要。我这么做只是为了表明我的工作方式,都是一样的东西。