power shell替换双引号

时间:2018-04-09 19:13:35

标签: powershell

我在尝试替换一个非常大的文件(约8gb)中的字符串时遇到问题。为此我使用PowerShell。 我试图替换的字符串如下:

' “ '|| || ROW_ID'”, “ '|| SUBSTR(P.ADDR_NAME,INSTR(P.ADDR_NAME,' ')+ 1)||'”'

(作为评论,有一个“介绍”,然后字符串是它看到的) 我想用以下内容替换它: “” (作为评论,什么都没有)

目前正在使用的Shell如下:

$InFile = 'foo.txt'
$OutFile = 'foo2.txt'

filter filter replace-chars { $_ -replace '                                                       

'"'||ROW_ID||'","'||SUBSTR(P.ADDR_NAME,INSTR(P.ADDR_NAME,'')+1)||'"'            
--------------------------------------------------------------------------------','' }


if (test-path $OutFile)
 { Clear-Content $OutFile }

Get-Content $InFile -ReadCount 1000 | 
 replace-chars  | 
 Add-Content $OutFile

我收到以下错误:

  

”   +过滤器过滤器替换字符{$ _ -replace'   +〜函数声明中缺少函数体。在F:\ Reporte_medios_de_contacto_PROD \ test.ps1:7 char:2   +'“'|| ROW_ID ||'”,“'|| SUBSTR(P.ADDR_NAME,INSTR(P.ADDR_NAME,'')+ 1)||'”'   + ~~~~~~~~~~~~~~表达式或语句中出现意外的标记'“||| ROW_ID ||'”'。在F:\ Reporte_medios_de_contacto_PROD \ test.ps1:7 char:68   +'“'|| ROW_ID ||'”,“'|| SUBSTR(P.ADDR_NAME,INSTR(P.ADDR_NAME,'')+ 1)||'”'   +〜意外的令牌''   -------------------------------------------------- ------------------------------''在表达或陈述中。       + CategoryInfo:ParserError:(:) [],ParseException       + FullyQualifiedErrorId:MissingFunctionBody“

2 个答案:

答案 0 :(得分:1)

使用强大的计算机(16 gb ram)和EmEditor解决。

答案 1 :(得分:0)

(Get-Content c:/YourFile.txt) -replace 'What you want to remove', 'what you ` 
want to replace it with' | Set-Content c:/YourFile.txt

例如,单独删除引号就可以了:

(Get-Content c:/YourFile.txt) -replace '"', '' | Set-Content c:/YourFile.txt