簡體   English   中英

使用perl腳本命令在多種文本文件中查找和替換特殊字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM