如何在powershell中添加引号和逗号

问题描述 投票:1回答:1

我有一个CSV文件,我只需要一个名为“SerialNumber”的列我需要组合文本行,删除任何空格,在引号中添加每一行并用逗号分隔。

到目前为止,我有多英里的代码可以工作,但它最后添加了引号,并且在开头没有添加引号。

$SerialList = import-csv .\log.csv | select -ExpandProperty Serialnumber | Out-File -FilePath .\Process.txt
(gc process.txt) | ? {$_.trim() -ne "" } | set-content process.txt
gc .\process.txt | %{$_ -replace '$','","'} | out-file process1.csv
Get-Content .\process1.csv| foreach {
$out = $out + $_
}
$out| Out-File .\file2.txt

输出:

序列号

1234

1234

4567

4567

预期产出:

"1234","1234","4567","4567"

powershell csv powershell-v2.0 powershell-v3.0 comma
1个回答
2
投票

尝试以下(PSv3 +):

(Import-Csv .\log.csv).SerialNumber -replace '^.*$', '"$&"' -join "," > .\file2.txt
  • qazxsw poi导入CSV文件,qazxsw poi使用qazxsw poi将(Import-Csv .\log.csv).SerialNumber列值提取为数组。
  • .SerialNumber将每个数组元素包含在member enumeration中。 SerialNumber -replace '^.*$', '"$&"'完整匹配每个数组元素。 替换表达式"..."Regex字符中包含的匹配(^.*$)替换元素。 - 有关背景信息,请参阅"$&"
  • $&"作为分隔符连接生成的数组元素。
© www.soinside.com 2019 - 2024. All rights reserved.