[英]How can I replace special character in a string with underscores using a Perl script?
[英]Find and replace special character string in mulitiple text file using perl script command
我正在使用以下單行命令替換單詞
perl -i -p -e 's/old/new/g;' *.config
這對於正常的字符串工作正常。 但是,如果我想用以下特殊字符替換字符串,則不起作用。
perl -i -p -e 's/{{'TEXT' | translate}}/{{'TEXT.T.D' | translate}}/g;' *.config
oldText將類似於= {{'TEXT' | translate}}
{{'TEXT' | translate}}
新文本將類似於= {{'TEXT.TD' | translate}}
{{'TEXT.TD' | translate}}
|
symbol是正則表達式中的元字符(表示“或”)。 為了使用它來表示自己,您需要使用反斜杠將其轉義。
s/{{'TEXT' \| translate}}/{{'TEXT.T.D' | translate}}/g
另一個替代方法(將轉義正則表達式中所有可能有問題的字符)是使用\\Q
(“ quotemeta”)轉義序列。
s/\Q{{'TEXT' | translate}}/{{'TEXT.T.D' | translate}}/g
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.