正则表达式设置锚标签的href参数

sha*_*tac 1 regex

我正在寻找一种方法来查找和替换大量的文本文件.例如;

我想选择;

<li><a href="">Istanbul, TR POS </a></li>
<li><a href="">Ankara, TR POS </a></li>
<li><a href="">Izmir, TR POS </a></li>
Run Code Online (Sandbox Code Playgroud)

WITH;

<li><a href="pos-istanbul-tr.php">Istanbul, TR POS </a></li>
<li><a href="pos-ankara-tr.php">Ankara, TR POS </a></li>
<li><a href="pos-izmir-tr.php">Izmir, TR POS </a></li> 
Run Code Online (Sandbox Code Playgroud)

请注意,标签的首字母是小写的,并且还作为链接的一部分添加.这应该针对大量文本文件进行,因此我正在通过正则表达式或您认为可能有用的任何软件寻找最有效的方法.

jfs*_*jfs 5

$ perl -i.bak \
>  -pe's/href="">([^,]+)/\'href="pos-\'. (lc $1) . \'-tr.php">\'. $1/eg' \
>  *.html
Run Code Online (Sandbox Code Playgroud)

跨平台变体(+建立@Jonathan Leffler的答案)

保存到fill-href.pl:

#!/usr/bin/perl -w -pi.bak
s/href="">([^,]+)/href="pos-\L$1\E-tr.php">$1/g
Run Code Online (Sandbox Code Playgroud)

跑:

perl fill-href.pl test1.html test2.html
Run Code Online (Sandbox Code Playgroud)