使用Perl脚本搜索和删除字符串

时间:2014-03-17 18:14:04

标签: string perl search replace

如何搜索和删除

6 ./ABC/DEG/gmail/xyz.txt
39415 ./ABC/DEG/yahoo/xyz.mp3

目标是搜索并删除" / ABC / DEG"

Perl script
use strict;
use warnings;

my $infile = 'file.txt';

local @ARGV = ($infile);
local $^I = '.bac';
while( <> ){
    s/ABC/DEG//;
    print;
}

2 个答案:

答案 0 :(得分:3)

您可以转义正斜杠,也可以使用不同的分隔符:s{}{}

use warnings;
use strict;

while (<DATA>) {
    s{/ABC/DEG}{};
    print;
}

__DATA__
6 ./ABC/DEG/gmail/xyz.txt
39415 ./ABC/DEG/yahoo/xyz.mp3

答案 1 :(得分:2)

您可以直接在终端上执行此操作:

perl -pi -e 's{ABC/DEG}{}g' <filename>

或者如果您仍想要备份:

perl -pi.bak -e 's{ABC/DEG}{}g' <filename>