1

我尝试了一个小测试:替换为x所以 我尝试了:x|y|z|aw

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 个。谁能告诉我我哪里错了?

4

1 回答 1

7

您的正则表达式是两个空模式之间的交替。您可以使用/\|/来匹配文字|

于 2013-05-20T14:25:54.227 回答