Форум программистов, компьютерный форум, киберфорум
Наши страницы

PowerShell

Войти
Регистрация
Восстановить пароль
 
alvibol
0 / 0 / 0
Регистрация: 28.03.2017
Сообщений: 18
#1

Замена строки (целиком), найденная по части строки - PowerShell

10.04.2017, 16:03. Просмотров 287. Ответов 5
Метки нет (Все метки)

Добрый день! Необходимо в файле найти строку по ее части, и заменить ее (строку целиком на новое значение).
файл:
Код
ClientVersion:4.4.1.5
InstallVariant:none
AdminSid:
ServerAddress:testpc.contoso.com:8080
NodeName:testpc.contoso.com
CertificateDomainUser:True
CertificateValidCertificate:True
CertificateValidIssuer:True
CertificateIssuerSubjectName:
UserInfoId:0
Необходимо найти строку, в которой есть "NodeName:" и заменить на "NodeName:firstpc.contoso.com"

код:
PowerShell
1
Get-Content .\server.txt | ForEach-Object {$_ -replace 'NodeName:testpc','NodeName:firstpc'} | Set-Content .\server_2.txt
заменит подстроку "NodeName:", т.к. я могу не знать чем она заканчивается, мне нужно менять ее целиком.
Буду признателен за любую помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2017, 16:03
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Замена строки (целиком), найденная по части строки (PowerShell):

Замена строки в файле - PowerShell
По аналогии из тем создал Батник с таким содержимым powershell "$f=(Get-Content 01_01.tab);$f='CoordSys NonEarth Units "m"';$f |...

Поиск строки и замена следующей - PowerShell
Всем привет, Народ помогите реализовать: Есть файл с тысячами строк listing.lst. Необходимо заменить одно строчку ,которая постоянно...

Замена части строки - C#
Здравствуйте. Помогите, пожалуйста, с нубским вопросом. Как выловить во вводимой строке словосочетание и заменить его другим? ...

Замена части строки - Delphi
И так, нужно заменить часть строки <br&gt на #10#13 - У меня ужасное настроение, моему лучшему другу запретили въезд в...

Замена части строки - C (СИ)
Дано 3 строки: a,b,c. Строка а включает в себя строку b. В строке а нужно найти строку b и заменить на строку с. например: ...

Замена части строки файла - Visual Basic .NET
Всем привет!!! есть файл(1.txt) с примерным текстом #@# 3686|Иванов |07.07.2014|15.07.2014|0| | . | . | I - 16...

5
diadiavova
1802 / 938 / 264
Регистрация: 11.04.2015
Сообщений: 1,763
Записей в блоге: 31
10.04.2017, 16:49 #2
PowerShell
1
2
3
4
Get-Content .\server.txt | foreach {
    if($_.ToString().StartsWith("NodeName:") ){ "NodeName:firstpc.contoso.com"}
    else {$_}
} | Set-Content .\server.txt
1
v_svitere
288 / 225 / 82
Регистрация: 03.06.2009
Сообщений: 682
Записей в блоге: 4
10.04.2017, 16:50 #3
alvibol,
Можно вот-так
PowerShell
1
([regex]'NodeName.*').Replace([system.io.file]::ReadAllText("D:\server.txt"),"NodeName:firstpc.contoso.com `r")|sc "D:\server.txt"
1
alvibol
0 / 0 / 0
Регистрация: 28.03.2017
Сообщений: 18
10.04.2017, 16:58  [ТС] #4
Вот так получилось:

PowerShell
1
Get-content ".\test.txt") | ForEach-Object {$_ -replace "^NodeName.*$","NodeName:firstpc.contoso.com" } | Set-Content .\test.txt
Ищем строку начинающуюся с NodeName и заканчивающуюся на любое количество любых символов, и соответственно заменяем ее на нужное.

Спасибо всем откликнувшимся, до этого никак не мог сообразить))
0
volodin661
843 / 745 / 119
Регистрация: 10.12.2013
Сообщений: 2,610
11.04.2017, 11:35 #5
правильным редактором покороче, однако.
PowerShell
1
vim +g/^NodeName:/s/:.*/:firstpc.contoso.com +x server.txt
0
diadiavova
1802 / 938 / 264
Регистрация: 11.04.2015
Сообщений: 1,763
Записей в блоге: 31
11.04.2017, 12:02 #6
Цитата Сообщение от alvibol Посмотреть сообщение
Ищем строку начинающуюся с NodeName и заканчивающуюся на любое количество любых символов, и соответственно заменяем ее на нужное.
Можно и так, только зачем здесь форич?
PowerShell
1
(Get-content ".\test.txt") -replace "^NodeName.*$","NodeName:firstpc.contoso.com"  | Write-Host
0
11.04.2017, 12:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.04.2017, 12:02
Привет! Вот еще темы с ответами:

Замена части строки на другую - C++
Значит так... Дана строка например (2 * (2+3)) Я уже написала функцию, которая вычисляет значения выражения БЕЗ скобок. Теперь...

Замена части строки в текстовом файле - CMD/BAT
Добрый вечер. Необходима помощь в написании bat, который бы заменил: "restore_ps": на "restore_ps": Учитывая что "ТУТ БУДЕТ...

Замена скобок и вывод части строки - Pascal ABC
Составьте алгоритм и программу обработки введенной с клавиатуры строки в соответствии с вариантом задания с использованием стандартных...

Замена части строки XML-файла - CMD/BAT
Здравствуйте. Помогите, пожалуйста, заменить часть строки xml файла, с помощью bat файла. вот образец: <request> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru