Trovare/sostituire la stringa con il ritorno a capo e avanzamento riga in PowerShell

C’è un modo per avere PowerShell trovare e sostituire una stringa (per esempio ~}}|{{E) con un ritorno a capo e avanzamento riga (\r\nE)?

Per esempio:

$filenames = @("E:\blergfest.csv")
foreach ($file in $filenames) {
    $outfile = "$file" + ".out"

    Get-Content $file | Foreach-object {
        $_ -replace '\~}}|{{E', '\r\nE' `
            -replace '\|\r\n', '\r\n'
    } | Set-Content $outfile
}

OriginaleL’autore Jerry Sweeton | 2013-03-07

2 Replies
  1. 2

    Come questo:

    $filenames = @("E:\blergfest.csv")
    foreach ($file in $filenames) {
        $outfile = "$file" + ".out"
    
        Get-Content $file | Foreach-object {
            $_ -replace '\~}}|{{E', "`r`nE" `
                -replace '\|\r\n', "`r`n"
        } | Set-Content $outfile
    }
    Sarebbe troppo chiedere di avere una dichiarazione del tipo: “nel testo di sostituzione, utilizzare il backtick ` invece di una barra rovesciata \, come di seguito:” (?)

    OriginaleL’autore mjolinor

  2. 2

    Per creare una stringa che contiene il controllo caratteri di ritorno a capo e avanzamento riga, utilizzare le virgolette doppie e utilizzare il backtick carattere`, che è il powershell codice di escape. Come questo:

    "`r`nE"

    OriginaleL’autore zdan

Lascia un commento