使用换行符替换CSV文件中的模式

时间:2016-07-08 12:18:32

标签: csv powershell

我有一个CSV文件,其中数据显示在一行中。我需要用换行替换一个模式(例如,END),以便我可以在多个记录中看到数据并通过Informatica加载它。

我尝试了遵循PowerShell命令:

powershell -Command "( gc <path>\filename.csv) -replace ',END,', '`n`r' | Out-File  -encoding ASCII <path>\filename.csv".

在上面的command.Generated文件中显示了一些选项,例如\r\n等。当我使用notepad ++ / notepad.Solution批量打开时,生成的文件显示新的替换字符`n`r而不是创建具有多条记录的文件文件或PowerShell都可以。

2 个答案:

答案 0 :(得分:0)

变量不会用单引号扩展。字符序列也是向后的。这可能并不重要,因为许多现代程序可以解决它,但应该正确完成。

WebApplicationInitializer

powershell -Command "(Get-Content <path>\filename.csv) -replace ',END,', "`r`n" | Set-Content <path>\filename.csv". 默认为ASCII编码,因此您不需要 Set-Content

答案 1 :(得分:0)

如果文件的大小较小,请使用带有Get-Content的Delimiter功能

获取内容-分隔符“ END”-路径/ file

上面的命令将文件分成几行,但是您随后需要将END替换为“”。