#powershell #powershell-2.0 #powershell-3.0 #powershell-4.0
Вопрос:
У меня есть данные в одном столбце в файле 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
Заранее спасибо.
Комментарии:
1. Командлет Import-CSV поддерживает пользовательские заголовки и разделители.
Ответ №1:
Строковое значение backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
само по себе может рассматриваться как запись CSV с :
разделителями, поэтому вы можете использовать ConvertFrom-Csv
:
PS ~gt; $string = 'backup:x:34:34:backup:/var/backups:/usr/sbin/nologin' PS ~gt; $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
Комментарии:
1. Спасибо тебе за это @mathias. Но при открытии csv-файла в Excel все значения находятся в одном столбце.