我正在尝试使用perl one-liner改变一堆.tex文件中的一些命令。我得到了以下内容:
perl -pi -e "s/\Q\linenum{some more stuff}\E/\Q\uln\E/g" *tex
这导致\lLn
而不是预期的替换模式\uln
。显然,当\Q
和\E
处理其他特殊字符时,他们不会照顾\l
\u
更改下一个字符的情况,我该怎么办?是什么?
答案 0 :(得分:6)
\Q\E
最适合\Q$var\E
。在其他地方,您可以使用\
来转义需要转义的字符。
perl -i -pe's/\\linenum\{some more stuff\}/\\uln/g' *tex