在 Powershell 中阅读时

问题描述

文件看起来像这样

Prename Lastname
Prename1 Lastname1
Prename2 Lastname2
...

在 bash 中,我会这样读:

while read prename lastname do;
echo $prename
echo $lastname
done < text.txt

我怎么能在 Powershell 中做到这一点,到目前为止我发现:

foreach($line in Get-Content .\text.txt) {
  write-host $line
}

但我需要将行存储在多个变量中,以便我可以使用它们我不需要行我需要每个单词都分开,有人可以帮我解决这个问题或显示一些文档吗?

非常适合任何帮助。

解决方法

读取文件(假设第一行包含“列名”)并将其存储在变量 $fileContent

$fileContent = Import-Csv -Path c:\path\to\text.txt -Delimiter ' '

遍历内容并写出每一列(假设 text.txt 用空格分隔

foreach($line in $fileContent)
  Write-Host $line.Prename
  Write-Host $line.Lastname
}

还要注意,如果有这样一行

firstname secondname lastname

$prename 将是“名字” 而 $lastname 将是 'secondname'