Powershell Изменить текст - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть текстовый файл, который я хочу изменить в определенном столбце.

Пример:

12345678901234567890
12345678901234567890
12345678901234567890
12345678901234567890
12345678901234567890
12345678901234567890

Изменить на:

1234567A901234567890
1234567A901234567890
1234567A901234567890
1234567A901234567890
1234567A901234567890
1234567A901234567890

Использование -replace 8 должен генерировать c, должен быть восьмой столбец, чтобы он не менял другие 8.

1 Ответ

0 голосов
/ 28 апреля 2020

Если мы можем предположить, что каждая из этих числовых строк находится в строках по отдельности, вы можете сделать следующее:

(Get-Content file.txt) -replace '(?<=^.{7}).','A' | Set-Content file.txt

Поскольку -replace использует сопоставление с регулярным выражением, (?<=) является положительным взглядом за утверждением, что проверяет начало строки (^), за которой следуют семь ({7}) символов (.) от текущей позиции. Текущая позиция будет 8-м символом (.). Этот символ заменяется на A.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...