У меня есть файл конфигурации с текстом, подобным приведенному ниже:
<Directory />
Options -Indexes
</Directory>
Необходимо заменить его, как показано ниже, с помощью powershell.
<Directory />
AllowOverride none
Require all denied
</Directory>
Я использовал код, указанный ниже:
$HttpPath = "C:\Oracle\Middleware\Oracle_Home\user_projects\domains\my_domain\config\fmwconfig\components\OHS\ohs1\httpd.conf"
$Lines = @("AllowOverride none", "", "Require all denied")
$Pattern = '(?s)(?<=<Directory />\r?\n).*?(?=</Directory>)'
$NewLine = "{0}{1}" -f "$Lines",[Environment]::NewLine
(Get-Content $HttpPath -raw) -replace $Pattern,$NewLine | Set-Content $HttpPath
Но это не размещение элементов массива на отдельных строках, это объединение элементов в виде следующих:
<Directory />
AllowOverride none Require all denied
</Directory>
Нужно решение для размещения этих строк на отдельных строках.