在一组大文件中,我需要将所有出现的“\
”替换为“\\
”。我想用Perl来达到这个目的。现在,我有以下几点:Perl正则表达式:用双反斜杠替换所有反斜杠
perl -spi.bak -e '/s/\\/\\\\/gm' inputFile
此命令为suggested给我,但它会导致没有变化INPUTFILE(除更新的时间戳)。思考这个问题可能是,“\
” S没有被空白包围,我试图
perl -spi.bak -e '/s/.\\./\\\\/gm' inputFile
同样,这对文件没有影响。最后,我想我可能会丢失一个分号,所以我试过:
perl -spi.bak -e '/s/.\\./\\\\/gm;' inputFile
这也没有效果。我知道我的文件包含“\
” S,例如在下面一行:
("C:\WINDOWS\system32\iac25_32.ax","Indeo audio)
我不知道是否有与正则表达式的问题,或者如果事情是错的,我的方式调用Perl。我对正则表达式有一个基本的理解,但是在涉及到Perl时,我是绝对的初学者。
这里有什么明显的错误吗?我注意到的一件事是,尽管inputFile大小大约为10MB,但命令很快返回。
你\是转义字符,所以\\被视为一个文字\ – Copas 2009-06-09 21:11:39