如何格式化Powershell Get-Culture cmdlet输出?

时间:2012-08-07 16:41:16

标签: powershell

我有一个大文本文件,包含可怕的大写文本和重复文本。我使用PowerShell删除重复项并使所有内容都小写。现在,我想把每个单词的第一个字母大写。为此,我使用了以下内容;

$var = (Get-Content "C:\FilePath")
(Get-Culture).TextInfo.ToTitleCase($Var)

这就像一个魅力,但输出从每行上的一个字符串变为一个巨大的文本运行blob。我无法格式化这个,Select-Object,Sort,Export-Csv都无法帮助我。有什么方法可以阻止弦乐团结在一起吗?

2 个答案:

答案 0 :(得分:1)

$var是一个数组,因此您可以将其作为数组处理:

$var = (Get-Content "C:\FilePath")
foreach ($line in $var) {
    (Get-Culture).TextInfo.ToTitleCase($line)
}

答案 1 :(得分:0)

出于性能原因,我会将引用保存一次到文本信息(而不是为每行调用Get-Culture)并在foreach循环中使用它:

$textInfo = (Get-Culture).TextInfo
Get-Content C:\FilePath | Foreach-Object {  $textInfo.ToTitleCase($_) }