在Powershell中查找/替换字符串,向上计数

时间:2016-09-02 21:51:28

标签: powershell

我有一个包含数千个简单div标签的大文件,我需要以某种方式进行索引,最好通过计算<div n="00001">...<div n="00002">.......<div n="32002">

所以,我的问题是如何将数组放入基本替换命令:

(Get-Content c:\Texts\mytext.txt).replace('<div>', '<div n="$a">') | Set-Content c:\Texts\mytextneu.txt

如果结果id总是有5位数,那就更好了,如上例所示。

1 个答案:

答案 0 :(得分:2)

将整个文件读入字符串,并使用Regex.Replace方法替换脚本块:

$text = [IO.File]::ReadAllText('sourcefile.html')
$script:counter = 0
([regex]'<div>').Replace($text, {
    $script:counter++;
    "<div n=`"$('{0:d5}' -f $script:counter)`">"
}) | Out-File output.html -Encoding utf8