Powershell如何使用逗号将多行合并为一行

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

我有一个很长的列表,每行有3个字符,就像这样

K2D
K5K
D9D
ILO
K5U
T8K

如何使用powershell将此列表组合成一行,用逗号分隔

K2D, K5K, D9D, ILO, K5U, T8K

我可以在每行的末尾添加逗号,如下所示,但不知道如何将它们组合成一行。

$list = get-content "list.txt"

$result = "result.txt"

$comma = foreach ($line in $list){
         $begein = ""
         $end = ","
         $begin + $line + $end
}

SET-CONTENT $result -value $comma
powershell
2个回答
4
投票

试试这个 -

"K2D
K5K
D9D
ILO
K5U
T8K" -replace ("`n", ",")

输出 -

K2D,K5K,D9D,ILO,K5U,T8K

这适用于动态输入。如果您正在阅读文本文件,您可以像这样使用-join运算符 -

$list = get-content "list.txt"
$list -join (",") | Set-Content $result

3
投票

另一种方法是利用知道get-content为每一行返回单独的字符串项:

(get-content -path $myFile) -join ', '

如果你的输入已经是一个数组:

$myArray -join ', '
© www.soinside.com 2019 - 2024. All rights reserved.