我有一些包含
等字符串的文件#define PROG_HWNR "#37595"
#define C_HWPROG_NR "24499"
#define PROG_HWNR "#39917"
#define C_HWPROG_NR "24901"
#define C_HWPROG_NR "37598"
我把它们放在一个名为regex-test的文件中(用于测试目的)
我想要做的是将每个数字增加一个。还有其他#defines和数字不能增加,我有一个需要增加的所有变量名称的列表。
我已经有像
这样的PowerShell命令Get-Content regex-test | foreach { [regex]::match($_,'"#?(\d+)"$').groups[1].value }
返回数字。它们现在只需要用[value] + 1
替换 你能指出我正确的方向吗?谢谢!答案 0 :(得分:8)
为什么不呢:
$tmp = Get-Content regex-test | foreach { $n = [regex]::match($_,'"#?(\d+)"$').groups[1].value; if ($n) {$_ -replace "$n", ([int32]$n+1)} else {$_}; }
然后保存$tmp
。