Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Import-CSV в PowerShell скрывает двойные кавычки

Автор вопроса: FLXОтветов: 1

Я импортирую файл и обрабатываю его содержимое следующим образом:

$msg = Import-Csv .\content -Delimiter "`t" | Select msg | Format-Table -HideTableHeaders | Out-String | %{$_ -replace "\n"}

В этом случае файл содержимого выглядит следующим образом:

id  name    when    ip  msg user_id
 50 Felix   2015-07-22 12:51:04 10.1.100.6  "ein link":www.link.de  89

Но $msg возвращает следующее:

ein link:www.link.de

Когда у меня есть контент-файл, подобный этому:

id  name    when    ip  msg user_id
 50 Felix   2015-07-22 12:51:04 10.1.100.6  dies ist "ein link":www.link.de 89

$msg правильно:

dies ist "ein link":www.link.de

Import-CSV скрывает двойные кавычки, только если они стоят в начале текста.

Я работаю с PowerShell 5.0

Можете вы помочь мне?

Спасибо

csvpowershellquotes

Ответы

Ответ 1 · рейтинг 1 · CB.

попробуйте это, может быть, это работает:

$msg = Get-Content .\content.csv |
       ForEach-Object { $_ -replace ('"','"""') } |
       ConvertFrom-CSV -Delimiter "`t" |
       Select msg | Format-Table -HideTableHeaders |
       Out-String | %{$_ -replace "\n"}

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы