0

我有很多网页的内容如下所示:

历史。1,通道。71-135;s。19,第。73-331;s。1,通道。74-384;s。1,通道。76-31;s。1,通道。79-408;s。1,通道。80-343;s。2,通道。82-155;s。1,通道。82-403;s。2,通道。83-187;s。1,通道。83-228;s。1,通道。84-359;s。24 章。85-167;s。2,通道。85-337;s。1,通道。86-296;s。2,通道。88-5; s。5,通道。88-82; s。8,通道。88-196;s。8,通道。88-324;s。60 章。88-381;s。7,通道。89-3;ss。1、18 章。91-255;s。32,第。92-78; ss。1、11 章。93-124;s。3,通道。93-246;s。1,通道。94-324;s。895 章。95-148;s。1,通道。95-186;s。4,通道。95-333;s。12,第。95-408;s。3,通道。96-330;s。2,通道。96-413;s。48 章。97-100;s。97,第。97-264;s。25,第。97-271;ss。6、13 章。98-324;s。5,通道。99-234;s。139,第。99-248;s。4,通道。2000-313;s。10 章。2000-320; s。2,通道。2002-78;s。1,通道。2002-263;s。1,通道。2004-379;s。1,通道。2005-119;s。3,通道。2007-211;s。29 章。2008-111;s。5,通道。2008-176; s。5,通道。2009-138;s。10 章。2009-206;s。5,通道。2010-223。

我想在文本中自动创建链接,使用 PHP 脚本或 sed 重写到多个页面。我对其中任何一个都不是很熟练,我什至不知道如何开始。

每次遇到“ch. XXXX-YYY”或“ch. XXXX-YY”时,我希望它在该文本上创建一个看起来像http://www.foo.com/XXXX/YYY的链接。我不希望它在只有两位数字时创建链接(即 ch. XX-YYY)。

同样,我不知道从哪里开始。

4

1 回答 1

0

这可能对您有用(GNU sed):

sed '/ch\. \([0-9]\{4\}\)-\([0-9]\{2,3\}\);/!d;s//\nhttp:\/\/www.foo.com\/\1\/\2\n/;s/[^\n]*\n//;P;D' file
http://www.foo.com/2000/313
http://www.foo.com/2000/320
http://www.foo.com/2002/78
http://www.foo.com/2002/263
http://www.foo.com/2004/379
http://www.foo.com/2005/119
http://www.foo.com/2007/211
http://www.foo.com/2008/111
http://www.foo.com/2008/176
http://www.foo.com/2009/138
http://www.foo.com/2009/206
http://www.foo.com/2010/223
于 2012-07-13T10:05:34.833 回答