Come aggiungere una nuova riga all'output del comando in PowerShell

  1. Usa `N per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell
  2. Utilizzando il Separatore di Campo di Output OFS per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell
  3. Utilizzando [Environment]::NewLine per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell
  4. Utilizzando Out-String per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell
  5. Conclusione
Come aggiungere una nuova riga all'output del comando in PowerShell

PowerShell include un insieme di sequenze di caratteri speciali che possono personalizzare il contenuto dell’output. Le sequenze sono comunemente note come sequenze di escape. Iniziano con il carattere backtick `` ` e sono case-sensitive.

Alcuni esempi di sequenze di escape sono `0, `a, `b, `e, `f`, `n, `r, ecc. Le sequenze di escape vengono interpretate solo se racchiuse tra virgolette doppie " ".

In questo articolo, esploriamo diverse tecniche per aggiungere una nuova riga all’output dei comandi in PowerShell. Ognuna offre un approccio unico per ottenere il formato di output desiderato, offrendo flessibilità e controllo sull’aspetto degli output degli script PowerShell.

Usa `N per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell

La sequenza di escape ``n` è comunemente utilizzata in molti linguaggi di programmazione, incluso PowerShell, per rappresentare un carattere di nuova riga.

Quando ``n` viene incontrato all’interno di una stringa, istruisce l’interprete a spostare il cursore all’inizio della riga successiva quando visualizza il testo.

In PowerShell, il backtick è usato come carattere di escape per denotare caratteri speciali all’interno delle stringhe.

Write-Host "This is line 1`nThis is line 2"

In questo esempio, utilizziamo il cmdlet Write-Host per visualizzare due righe di testo. Utilizzando la sequenza di escape ``n, creiamo una nuova riga tra “This is line 1”e“This is line 2”`, ottenendo così una chiara separazione del contenuto.

Output:

aggiungi una nuova riga all’output del comando in powershell - output 1

Puoi utilizzare più caratteri `n per aggiungere più righe.

Write-Host "This is line 1`nThis is line 2`n`n`This is line 3"

Iniziamo visualizzando "This is line 1", seguito da un carattere di nuova riga utilizzando il backtick (``n), che istruisce PowerShell a passare alla riga successiva. Poi, visualizziamo “This is line 2”` su una nuova riga usando di nuovo il carattere di nuova riga.

Dopo di che, includiamo due caratteri di nuova riga consecutivi (``n) utilizzando i backtick, creando una riga vuota tra “This is line 2”e“This is line 3”. Infine, visualizziamo “This is line 3”` su una nuova riga.

Output:

aggiungi una nuova riga all’output del comando in powershell - output 2

Utilizzando il Separatore di Campo di Output OFS per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell

In PowerShell, il Separator di Campo di Output (OFS) è una variabile speciale che determina come gli elementi in un array vengono separati quando vengono convertiti in una stringa. Per impostazione predefinita, PowerShell separa gli elementi dell’array con uno spazio.

Tuttavia, puoi modificare il valore della variabile OFS per specificare un separatore diverso, come un carattere di nuova riga, che è rappresentato dalla sequenza di escape ``n`.

Innanzitutto, devi definire un separatore nella variabile OFS.

$OFS = "`n`n"
$color = 'red', 'blue', 'green', 'yellow'
"$($color)"

In questo esempio di codice, impostiamo prima la variabile OFS su due ``n, indicando che un carattere di nuova riga dovrebbe essere utilizzato per separare gli elementi nell'output. Poi, definiamo un array chiamato $color` contenente quattro stringhe di colori.

Quando utilizziamo la sintassi di interpolazione delle stringhe "$($color)", PowerShell converte implicitamente l’array in una stringa, separando ogni elemento con il valore OFS, risultando in ogni colore visualizzato su una doppia nuova riga.

Output:

aggiungi una nuova riga all’output del comando in powershell - output 3

Utilizzando [Environment]::NewLine per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell

In PowerShell, il metodo [Environment]::NewLine è un modo conveniente per recuperare la sequenza di carattere di nuova riga appropriata per l’attuale ambiente del sistema operativo. Questo metodo restituisce una stringa contenente la sequenza di nuova riga (\n per i sistemi basati su Unix e \r\n per i sistemi Windows).

Utilizzando questo metodo, puoi assicurarti che il tuo script PowerShell produca output con i caratteri di nuova riga corretti, rendendolo indipendente dalla piattaforma e compatibile con diversi ambienti.

$color = 'red', 'blue', 'green', 'yellow'
$new = [Environment]::NewLine
$color | foreach { "$_$new" }

In questo esempio di codice, definiamo prima un array chiamato $color contenente quattro stringhe di colori. Poi, utilizziamo [Environment]::NewLine per recuperare la sequenza di carattere di nuova riga e memorizzarla nella variabile $new.

Successivamente, pipe l’array $color a Sort-Object per ordinare i colori in ordine alfabetico. Infine, iteriamo su ogni colore ordinato utilizzando foreach, concatenando ogni colore con il carattere di nuova riga memorizzato in $new, risultando in un output ordinato con ogni colore su una nuova riga.

Output:

aggiungi una nuova riga all’output del comando in powershell - output 5

Utilizzando Out-String per Aggiungere una Nuova Riga all’Output dei Comandi in PowerShell

In PowerShell, il cmdlet Out-String converte gli oggetti di input in una singola stringa, il che può essere utile per formattare l’output dei comandi. Per impostazione predefinita, Out-String aggiunge un carattere di nuova riga (``n`) a ciascun oggetto, permettendoti di aggiungere facilmente nuove righe all’output dei comandi.

Questo metodo è particolarmente utile quando vuoi assicurarti che ogni elemento nell’output venga visualizzato su una riga separata, migliorando la leggibilità e l’organizzazione.

$color = 'red', 'blue', 'green', 'yellow'
$color | Out-String

In questo frammento di codice, definiamo prima un array chiamato $color contenente quattro stringhe di colori. Poi, utilizziamo il metodo [Environment]::NewLine per recuperare la sequenza di carattere di nuova riga appropriata per l’attuale ambiente e memorizzarla nella variabile $new.

Successivamente, iteriamo su ogni elemento dell’array $color utilizzando il ciclo foreach. All’interno del ciclo, concateniamo ciascuna stringa di colore con il carattere di nuova riga memorizzato in $new, assicurandoci che ogni colore venga visualizzato su una nuova riga nell’output dei comandi.

Output:

aggiungi una nuova riga all’output del comando in powershell - output 6

Conclusione

PowerShell fornisce diversi metodi efficaci per aggiungere una nuova riga all’output dei comandi, migliorando la leggibilità e l’organizzazione. Che tu stia utilizzando sequenze di escape come ``n, sfruttando il metodo [Environment]::NewLineper caratteri di nuova riga indipendenti dalla piattaforma, o personalizzando la variabileOFS` per la formattazione dell’output degli array, PowerShell offre soluzioni versatili per soddisfare varie esigenze di scripting.

Comprendendo e implementando queste tecniche, gli autori di script PowerShell possono creare output più gradevoli e informativi, migliorando l’esperienza complessiva dell’utente e l’efficienza dei loro script.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website