在PowerShell中导入CSV会隐藏双引号
我导入文件并按如下方式处理其内容:在PowerShell中导入CSV会隐藏双引号,csv,powershell,quotes,Csv,Powershell,Quotes,我导入文件并按如下方式处理其内容: $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 = 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
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 = 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
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返回了以下信息:
ein link:www.link.de
当我有这样一个内容文件时:
$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
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
导入CSV仅在双引号位于文本开头时隐藏双引号
我正在使用PowerShell 5.0
你能帮我吗
谢谢你试试这个也许它能用:
$msg = Get-Content .\content.csv |
ForEach-Object { $_ -replace ('"','"""') } |
ConvertFrom-CSV -Delimiter "`t" |
Select msg | Format-Table -HideTableHeaders |
Out-String | %{$_ -replace "\n"}
谢谢你的回答。此解决方案解决了在开始时使用双引号的问题。但是现在,当我在文本中间某处有双引号时,我得到这样的输出:模具IST“”Ein Link“”:www.链接。de@FLX好的,我已经测试过了,并且使用了你的例子,但是“因为我不能测试我写的任何案例”“也许它有效”;)。您可以尝试用单引号替换双引号,这种方法在我的测试中有效。不幸的是,在我的情况下,不可能使用单引号代替双引号。还有其他解决方案吗?@FLX可能使用regex您可以匹配
:www
之前的所有内容,并将双引号添加到匹配项中。确定。现在,我将内容文件推入一个变量,并按如下方式处理:$content-replace'^(+++)\t“(++)”(++)$”,“$1t”“”$2“$3”;所以我添加了两个双引号,可以通过导入csv删除。但是我不知道怎么把标签插回去代码>t返回`t。。。