Удаление лишних пробелов из вывода PowerShell - PullRequest
0 голосов
/ 09 октября 2018

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

$InputACKFile = 'C:\Testing_Newline\Aj*.dat'

Write-Host "Found " ($InputACKFile | Measure-Object).Count " files to process"

$InputACKFile = Get-ChildItem $InputACKFile

foreach ($xfile in $InputACKFile) {
    Write-Host "Processing file: $xFile`r"

    #((Get-Content $xfile).Replace("~", "`n")) | Out-File $xfile.FullName
    [System.IO.File]::ReadAllText($xfile).Replace("~","`n") |
        Set-Content $xfile

    $flag = 0
    (Get-Content $xfile | ForEach {
        if ($_ -match "^PQ\*") {
            $_ -replace "test1", "test2"
        } elseif ($_ -match "^TA\*") {
            $_ -replace "test1", "test2"
        } elseif ($_ -match "^ABC\*RS\*") {
            $_ = '';
            $flag = 1
        } elseif ($_ -match "^(DE\*)([0-9]+)(\*[0-9]+)$" -and $flag -eq 1) {
            $_ -replace ($matches[2]), ([int]::Parse($matches[2])-1);
            $flag = 0
        } else{
            $_
        }
    }) | Out-File $xfile.FullName -Encoding Ascii

    ((Get-Content $xfile) -join("~")) | Set-Content $xfile.FullName
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...