PowerShell 和表达式中的 space
PowerShell and space in expression
我在 CSV 文件中有一个字段是名字。但是,我想将其重命名为 Name。
我有下面的代码。但是,我不确定如何处理 t
和 N
之间的 space。
我试过使用引号和其他一些技巧,但到目前为止 none 已经奏效。
我需要做什么才能获得价值?
Import-Csv .\Downloads\addata.csv | Select @{n="Name";e={$_.First Name}}
您可以使用单引号访问带有 space 的变量,例如。 G。 $_.'First Name'
。
但是,您可能希望保留现有列,因此您可以使用 Get-Content
cmdlet 检索内容并使用简单的正则表达式替换第一行中的列:
$content = Get-Content '.\Downloads\addata.csv'
$content[0] = $content[0] -replace 'First Name', 'Name'
$content | Set-Content '.\Downloads\addata.csv'
注意:您可能需要在 Set-Content
cmdlet 中指定 encoding。
我在 CSV 文件中有一个字段是名字。但是,我想将其重命名为 Name。
我有下面的代码。但是,我不确定如何处理 t
和 N
之间的 space。
我试过使用引号和其他一些技巧,但到目前为止 none 已经奏效。 我需要做什么才能获得价值?
Import-Csv .\Downloads\addata.csv | Select @{n="Name";e={$_.First Name}}
您可以使用单引号访问带有 space 的变量,例如。 G。 $_.'First Name'
。
但是,您可能希望保留现有列,因此您可以使用 Get-Content
cmdlet 检索内容并使用简单的正则表达式替换第一行中的列:
$content = Get-Content '.\Downloads\addata.csv'
$content[0] = $content[0] -replace 'First Name', 'Name'
$content | Set-Content '.\Downloads\addata.csv'
注意:您可能需要在 Set-Content
cmdlet 中指定 encoding。