替换文件中所有出现的字符串

时间:2011-07-15 02:10:48

标签: string perl shell operation

我有一个字符串test.cgi@action=<action-name>

<action-name>可以是任何字符串

对于文件中的所有匹配项,我想用<action-name>.html替换上面的字符串。

任何人都可以告诉我如何使用Perl脚本继续执行此操作吗?

ps:当我发布对现有消息的评论时,我没有得到任何回复。所以,我发布了一条新消息。

2 个答案:

答案 0 :(得分:2)

如果是文件,您可以使用sed(假设您使用某种* nix平台)。

sed 's/test.cgi@action=/.html/g' file > output

或者如果您感觉有风险,可以编辑文件。

sed -i 's/test.cgi@action=/.html/g' file

答案 1 :(得分:1)

use strict;
use warnings;
use 5.010;

my $string = <<'END_OF_STRING';
    test.cgi@action=xxxxxxxxxxx
    xxxxx test.cgi@action=aaaaaa
    yyyyyyyyyyytest.cgi@action=
END_OF_STRING


$string =~ s/test.cgi\@action=/.html/g;
print $string;


--output:--
    .htmlxxxxxxxxxxx
    xxxxx .htmlaaaaaa
    yyyyyyyyyyy.html