0
Почему выходной файл, созданный с помощью следующего сценария, не содержит всех строк, содержащихся в исходном файле? Я выполняю логику замещения на линии по линейному уровню, но я явно не удаляю никаких строк.Файл выходных данных Powershell отсутствует из входного файла
[regex]$r = "\$\%\[email protected]@(.+)\$\%\[email protected]@";
(Get-Content $inputFile) |
Foreach-Object {
$line = $_;
$find = $r.matches($line);
if ($find[0].Success) {
foreach ($match in $find) {
$found = $match.value
$replace = $found -replace "[^A-Za-z0-9\s]", "";
$line.Replace($found, $replace);
}
}
} |
Set-Content $outputFile
Входной файл
Выходной файл
Что происходит с линией, если ($ найти [0] .Success) составляет $ ложный? – mjolinor
Я ничего не делаю с линией, когда условие ложно, поэтому я предполагал, что он будет напрямую обращаться к выходному файлу. – mservidio
Я думаю, что вы должны поставить под сомнение это предположение. – mjolinor