【问题标题】:Split strings into multiple columns in PowerShell在 PowerShell 中将字符串拆分为多列
【发布时间】:2021-12-14 10:12:15
【问题描述】:

我在 CSV 文件的一列中有数据,如下所示:

backup:x:34:34:backup:/var/backups:/usr/sbin/nologin

我想将其拆分为多个列,使用冒号 (:) 分隔符拆分每个值并添加自定义标题。输出应如下所示:

USERNAME   X   UID   GID   DESCRIPTION  HOMEDIR      SHELL 
----------
backup     x   34    34    backup      /var/backups  /usr/sbin/nologin

提前谢谢你。

【问题讨论】:

  • Import-CSV cmdlet 支持自定义标头和分隔符。

标签: powershell powershell-2.0 powershell-3.0 powershell-4.0


【解决方案1】:

字符串值backup:x:34:34:backup:/var/backups:/usr/sbin/nologin本身可以被认为是一个以:为分隔符的CSV记录,所以你可以使用ConvertFrom-Csv

PS ~> $string = 'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin'
PS ~> $string |ConvertFrom-Csv -Delimiter ':' -Header USERNAME,X,UID,GID,DESCRIPTION,HOMEDIR,SHELL |Format-Table

USERNAME X UID GID DESCRIPTION HOMEDIR      SHELL
-------- - --- --- ----------- -------      -----
backup   x 34  34  backup      /var/backups /usr/sbin/nologin

【讨论】:

  • 感谢@mathias。但是在 Excel 中打开 csv 文件时,所有值都在一列中。
猜你喜欢
  • 2016-02-21
  • 1970-01-01
  • 2014-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-29
  • 1970-01-01
相关资源
最近更新 更多