在一組大文件中,我需要將所有出現的「\
」替換爲「\\
」。我想用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