为什么会失败?
WGroleau@MBP Chords % perl -p -i -e '(Trinidad|Donoso|Clifton|Frincke|Little|Church|Antonio) XYZ :\1\t:g;' *txt
Bareword found where operator expected at -e line 1, near ") XYZ"
(Missing operator before XYZ?)
我过去曾多次使用此语法而没有出现此错误(据我所知)。
你能测试:
您错过了替换的第一部分:
在 perl 中,捕获的组是
$1
, 不是\1
(也许在这两种情况下都可以工作)。