我尝试了一个小测试:
用x
替换x|y|z|a
中的w
所以我试过了:
echo "x|y|z|a" | perl -lne '@arr=split /|/;$arr[0]='w';$_=join "|",@arr;print $_;'
它给了我:
> echo "x|y|z|a" | perl -lne '@arr=split /|/;$arr[0]='w';$_=join "|",@arr;print $_;'
w|||y|||z|||a
>
令人惊讶的是它提供了3个字段分隔符而不是1个。 谁能告诉我哪里错了?
答案 0 :(得分:7)
您的正则表达式是两个空模式之间的交替。您可以使用/\|/
来匹配文字|
。