Как сделать поиск, обновление, замену в Windows (Powershell, Findstr) - PullRequest
0 голосов
/ 24 февраля 2011

Что я хочу: откройте файл, найдите совпадение с помощью регулярного выражения, увеличьте совпадение, замените совпадение в тексте, сохраните файл.

Возможно ли это сделать с помощью Powershell или команды FINDSTR?

1 Ответ

3 голосов
/ 24 февраля 2011
 "*original file*"
 gc matchtest.txt

 $match_pat = "^(Match\stext\s)(\d+)"
 $newfile = @()
 gc matchtest.txt |% {
 if ($_ -match $match_pat) {

     $incr =  1 + $matches[2]
     $newfile += $_ -replace $match_pat,($matches[1] + $incr)
     }
   else {$newfile += $_}
  }

  $newfile | out-file matchtest.txt -force

  "`n*new file*"
  gc matchtest.txt

 *original file*
 Not match 121
 Match text 127
 Not match 123

 *new file*
 Not match 121
 Match text 128
 Not match 123
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...