如何在指定文件中将 url 地址的结尾“.pl”更改为“.en”,将倒数第二个“.com”更改为“.org”
例如: http: //www.addres.pl 更改为: http://www.addres.en
如果存在这样的地址 http://www.addres.com.pl 更改为: http://www.addres.org.en
如果它看起来像这样 http://www.addres.com.ru 那么只需更改 .com http://www.addres.org.ru
文本文件输入示例:
http://www.addres.org.en
http://www.addres.com.pl
http://www.addre.pl
http://www.addres.en
http://www.addres.ru
http://com ddd http://www.com.pl.com.pl.com.pl.com.pl
aaa http://www.addres.com.pl! bbb
ccc (http://www.addre.pl) ddd
控制台输出示例:
http://www.addres.org.en
http://www.addres.org.en
http://www.addre.en
http://www.addres.en
http://www.addres.ru
http://com ddd http://www.com.pl.com.pl.com.pl.org.en
aaa http://www.addres.org.en! bbb
ccc (http://www.addre.en) ddd
现在我有这个来检查输入是否是一个文件
#!/usr/bin/perl
use warnings;
use strict;
use File::Find;
if (($#ARGV+1 != 1 )||(! -f $ARGV[0]))
{
print "podaj plik\n";
exit 1;
}
#!/usr/local/bin/perl
open (MYFILE, $ARGV[0]);
while (<MYFILE>) {
chomp;
my $url = $_;
for ($url) {
#s|(com)(.??)|org$2| and last;
s|com.pl|org.en| and last;
s|com[.]|org.| and last;
s|[.]pl|.en|;
}
print "$url\n";
}
close (MYFILE);
exit 0;
怎么做
s|com[.]ru|org.ru| and last;
像这样更改所有地址
s|com[.]??|org.??| and last;
在哪里 ??可以是例如 ru,或 en 或所有其他,然后是 pl