我看过this question,它与我需要做的很接近,但是我需要替换的文字不一致。
我需要将"`r`n
替换为"
,但仅将相邻两行中的第一行
示例:(完整文件为5万行,最多500个字符)
ID,Name,LinkedRecords 54429,Abe, 54247,Jonathan," 63460|63461" 54249,Teresa, 54418,Cody, 58046,Joseph, 58243,David, ,Barry," 74330" C8876,Simon, X_10934,David,
应该成为
ID,Name,LinkedRecords 54429,Abe, 54247,Jonathan,"63460|63461" 54249,Teresa, 54418,Cody, 58046,Joseph, 58243,David, ,Barry,"74330" C8876,Simon, X_10934,David,
我看到this可能会有用,但是我很难让命令按需工作
答案 0 :(得分:1)
如果`r`n
字符是文字字符,则可以执行以下操作:
[System.IO.File]::ReadAllText('c:\path\file.txt') -replace '(?<=,")`r`n\r?\n' |
Set-Content c:\path\file.txt
如果`r`n
是实际的回车符和换行符,则可以执行以下操作:
[System.IO.File]::ReadAllText('c:\path\file.txt') -replace '(?<=,")\r\n' |
Set-Content c:\path\file.txt
请注意,如果内存成为问题,则可能需要采用其他方法。