【问题标题】:while read in Powershell在 Powershell 中阅读时
【发布时间】:2021-06-04 07:29:41
【问题描述】:

文件看起来像这样

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
}

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

非常感谢任何帮助。

【问题讨论】:

标签: powershell foreach


【解决方案1】:

读取文件(假设第一行包含“列名”)并将其存储在变量$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 将是“第二名”

【讨论】:

  • 由于分隔符是 ' ' 我相信在示例中 firstname secondname lastname $lastname 将是第二名,而姓氏将被忽略/丢失。
  • 没错。我更新了评论。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多