Заменить все вхождения строки в файле - PullRequest
0 голосов
/ 15 июля 2011

У меня есть строка test.cgi@action=<action-name>

<action-name> может быть любой строкой

Я хотел бы заменить вышеуказанную строку на <action-name>.html для всех вхождений в файле.

Может кто-нибудь, пожалуйста, дайте мне знать, как я могу продолжить с помощью сценария Perl?

ps. Я не получил никакого ответа, когда опубликовал комментарий к существующему сообщению. Итак, я публикую как новое сообщение.

Ответы [ 2 ]

2 голосов
/ 15 июля 2011

Если это файл, вы можете просто использовать sed (при условии, что вы на какой-то платформе * nix).

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

или, если вы чувствуете себя рискованно, вы можете отредактировать файл на месте.

sed -i 's/test.cgi@action=/.html/g' file
1 голос
/ 15 июля 2011
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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...