I have data in a one column in a CSV file that looks like this:
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
I want to split it into multiple columns, splitting each value using colon symbol(:) delimiter and add customize headers. Output should look like this:
USERNAME X UID GID DESCRIPTION HOMEDIR SHELL
----------
backup x 34 34 backup /var/backups /usr/sbin/nologin
Thank you in advance.
The string value backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
can itself be thought of as a CSV record with :
as delimiters, so you can use 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