我有一些包含字符串的文件
#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替换
你能为我指出正确的方向吗?谢谢!
解决方法
为什么不呢:
$tmp = Get-Content regex-test | foreach { $n = [regex]::match($_,'"#?(\d+)"$').groups[1].value; if ($n) {$_ -replace "$n",([int32]$n+1)} else {$_}; }
然后保存$tmp.