perl 替换中的反斜杠
backslashes in perl substitution
我正在尝试使用 perl 单行代码更改一堆 .tex 文件中的一些命令。我得到的结果如下:
perl -pi -e "s/\Q\linenum{some more stuff}\E/\Q\uln\E/g" *tex
这导致 \lLn
而不是预期的替换模式 \uln
。显然,虽然 \Q
和 \E
处理其他特殊字符,但它们不处理 \l
\u
更改下一个字符的大小写,我该怎么做那个?
\Q\E
最适合 \Q$var\E
。在其他地方,您可以使用 \
来转义需要转义的字符。
perl -i -pe's/\linenum\{some more stuff\}/\uln/g' *tex
我正在尝试使用 perl 单行代码更改一堆 .tex 文件中的一些命令。我得到的结果如下:
perl -pi -e "s/\Q\linenum{some more stuff}\E/\Q\uln\E/g" *tex
这导致 \lLn
而不是预期的替换模式 \uln
。显然,虽然 \Q
和 \E
处理其他特殊字符,但它们不处理 \l
\u
更改下一个字符的大小写,我该怎么做那个?
\Q\E
最适合 \Q$var\E
。在其他地方,您可以使用 \
来转义需要转义的字符。
perl -i -pe's/\linenum\{some more stuff\}/\uln/g' *tex