4

我有一些包含字符串的文件

#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

你能为我指出正确的方向吗?谢谢!

4

1 回答 1

8

为什么不只是:

$tmp = Get-Content regex-test | foreach { $n = [regex]::match($_,'"#?(\d+)"$').groups[1].value; if ($n) {$_ -replace "$n", ([int32]$n+1)} else {$_}; }

然后保存$tmp.

于 2013-06-05T14:10:37.267 回答