Replace 搜索并用该文件中的变量字符串替换常量字符串

Replace 搜索并用该文件中的变量字符串替换常量字符串,replace,Replace,我在另一个论坛上问了这个问题,但没有得到答案。有人建议我把这个问题贴在stackoverflow上 我有数百个HTML文档,名为001.HTML002.HTML003.HTML等等。所有这些HTML文件都包含多个常量F0字符串。此外,这些HTML文件包含一个变量字符串{PABC},其中ABC指的是标题编号。例如: 001.html has F0 string(s) and a string {P001}. 002.html has F0 string(s) and a string {P002}

我在另一个论坛上问了这个问题,但没有得到答案。有人建议我把这个问题贴在stackoverflow上

我有数百个HTML文档,名为001.HTML002.HTML003.HTML等等。所有这些HTML文件都包含多个常量F0字符串。此外,这些HTML文件包含一个变量字符串{PABC},其中ABC指的是标题编号。例如:

001.html has F0 string(s) and a string {P001}.
002.html has F0 string(s) and a string {P002}.
003.html has F0 string(s) and a string {P003}.
等等。如何用相应的{PABC}字符串替换这些HTML文件中的所有F0实例?比方说,我有001.html,其中有多个F0和一个{P001}。我想用一个{P001}替换所有F0引用。002.html也是一样,用{P002}替换F0。如何对所有HTML文件执行批处理操作

有没有好的文本编辑器[用正则表达式替换文件中的变量]可以做到这一点,如果有,如何做到?到目前为止,我已经尝试了UltraEdit、Funduc Studio Pro和其他软件,但没有取得任何成果


谢谢。

使用Vim很容易

$ vim *.html
:argdo %s/\<F0\>/\='P'.fnamemodify(expand('%'), ':t:r')/ge | update
:q

这里的主要区别是Vim在脚本模式-e-s下运行,更新和q命令被x命令替换。

换句话说,问题是用同一文件中的不同但可变的行替换文件中的一行;由于我从未使用过Vim,如何在Vim for windows上运行该命令。然后,我也不知道如何导航到所有HTML文件所在的目录。任何提示?Vim通常会将自己添加到资源管理器中的右键单击菜单中。您应该能够选择所有文件,右键单击,使用单个Vim进行编辑,然后运行:argdo和:q命令。
vim -e -s -c '%s/\<F0\>/\="P".fnamemodify(expand("%"), ":t:r")/ge' -c x 001.html