Array di stampa Bash con le nuove linee

Array di stampa Bash con le nuove linee
Un array è un contenitore contenente lo stesso tipo di dati, tipo intero o tipo di galleggiante. Possiamo affrontare gli array eseguendo diverse operazioni su di essi. Uno delma comunemente usato è rompere l'array e stampare ogni parola su una nuova linea. Questa funzione è discussa nell'articolo di oggi. Per comprendere questo concetto, è necessario accedere a un terminale Ubuntu per eseguire termini relativi a Bash su Ubuntu. Abbiamo trattato l'argomento dai campioni più semplici a critici per la comprensione dell'utente.

Esempio 1

In questo esempio, prendi una variabile e assegna il valore ad essa. Il valore è una stringa lunga. Per avere il risultato della stringa in nuove righe, assegneremo il valore della variabile a un array. Per garantire il numero di elementi presenti nella stringa, stamperemo il numero di elementi utilizzando un rispettivo comando.

S a = ”Sono uno studente. Mi piace la programmazione "
$ arr = ($ a)
$ echo “arr ha $ #arr [@] elementi."

Vedrai che il valore risultante ha visualizzato il messaggio con i numeri dell'elemento. Dove il segno "#" viene utilizzato per contare solo il numero di parole presenti. [@] mostra il numero dell'indice degli elementi della stringa. E il segno "$" è per la variabile.

Per stampare ogni parola su una nuova riga, dobbiamo usare le chiavi "%s '\ n". '%s' è leggere la stringa fino alla fine. Allo stesso tempo, '\ n' sposta le parole alla riga successiva. Per visualizzare il contenuto dell'array, non useremo il segno "#". Perché porta solo il numero totale degli elementi presenti.

$ printf "'%s' \ n" "$ arr [@]"

Puoi osservare dall'output che ogni parola viene visualizzata sulla nuova linea. E ogni parola è citata con un singolo preventivo perché lo abbiamo fornito nel comando. Questo è facoltativo per convertire la stringa senza singole citazioni.

Esempio 2

Di solito, una stringa viene suddivisa in un array o in singole parole usando schede e spazi, ma questo di solito porta a molte pause. Abbiamo usato un altro approccio qui, che è l'uso di IFS. Questo ambiente IFS si occupa di dimostrare che come una stringa viene rotta e convertita in piccoli array. IFS ha un valore predefinito di "\ n \ t". Ciò significa che lo spazio, una nuova linea e una scheda possono passare il valore nella riga successiva.

Nell'istanza corrente, non utilizzeremo il valore predefinito di IFS. Ma invece, lo sostituiremo con un singolo carattere di Newline, ifs = $ '\ n'. Quindi, se usi spazio e schede, non causerà la rottura della stringa.

Ora prendi tre stringhe e conservale nella variabile di stringa. Vedrai che abbiamo già scritto i valori usando le schede alla riga successiva. Quando prendi la stampa di queste stringhe, formerà una singola riga anziché tre.

$ str = "I m Uno studente
Mi piace la programmazione
La mia lingua preferita è .netto."
$ echo $ str

Ora è il momento di usare IFS nel comando con il carattere di Newline. Allo stesso tempo, assegnare i valori della variabile all'array. Dopo aver dichiarato questo, prendi una stampa.

$ Ifs = $ '\ n' arr = ($ str)
$ printf "%s \ n" "$ arr [@]"

Puoi vedere il risultato. Ciò mostra che ogni stringa viene visualizzata singolarmente su una nuova riga. Qui l'intera stringa è trattata come una sola parola.

Una cosa è essere annotata qui: dopo che il comando è terminato, le impostazioni predefinite di IFS vengono nuovamente ripristinate.

Esempio 3

Possiamo anche limitare i valori dell'array da visualizzare su ogni nuova linea. Prendi una stringa e mettila nella variabile. Ora convertilo o memorizzalo nell'array come abbiamo fatto nei nostri esempi precedenti. E semplicemente prendere la stampa usando lo stesso metodo descritto in precedenza.

Ora notate la stringa di input. Qui abbiamo usato doppie citazioni sulla parte del nome due volte. Abbiamo visto che l'array ha smesso di visualizzare sulla riga successiva ogni volta che incontra una sosta completa. Qui la fermata completa viene utilizzata dopo le doppie quote. Quindi ogni parola verrà visualizzata su righe separate. Lo spazio tra le due parole è trattato come un punto di rottura.

$ x = (name = "ahmad Ali ma". Mi piace leggere. "Fav soggetto = biologia")
$ arr = ($ x)
$ printf "%s \ n" "$ arr [@]"

Poiché la fermata completa è dopo "Butt", quindi la rottura dell'array viene fermata qui. "Io" è stato scritto senza alcun spazio tra l'intero stop, quindi è separato dal punto di fermo.

Considera un altro esempio di un concetto simile. Quindi la parola successiva non viene visualizzata dopo l'intero arresto. Quindi puoi vedere che viene visualizzata solo la prima parola.

$ x = (name = "shawa". "Fav soggetto" = "inglese")

Esempio 4

Qui abbiamo due stringhe. Avere 3 elementi ciascuno all'interno della parentesi.

$ Array1 = (Apple Banana Peach)
$ Array2 = (Mango Orange Cherry)

Quindi dobbiamo visualizzare il contenuto di entrambe le stringhe. Dichiarare una funzione. Qui, abbiamo usato la parola chiave "compiacee" e quindi assegnato un array a una variabile e altri array a un'altra variabile. Ora possiamo stampare rispettivamente entrambi gli array.

$ a ()
Typet -n FirstArray = $ 1 SecondArray = $ 2
Printf '%s \ n' 1st: "$ FirstArray [@]"
Printf '%s \ n' 2nd: “$ secondarray [@]”

Ora per prendere la stampa della funzione, useremo il nome della funzione con entrambi i nomi delle stringhe dichiarati in precedenza.

$ a array1 array2

È visibile dal risultato che ogni parola di entrambi gli array viene visualizzata su una nuova riga.

Esempio 5

Qui viene dichiarato un array con tre elementi. Per separarli su nuove linee, abbiamo usato un tubo e uno spazio citato con doppie quote. Ogni valore dell'array del rispettivo indice funge da input per il comando dopo il tubo.

$ Array = (Linux Unix PostgreSQL)
$ echo $ array [*] | Tr "" "\ n"

Ecco come funziona lo spazio per visualizzare ogni parola di un array su una nuova linea.

Esempio 6

Come già sappiamo, il funzionamento di "\ n" in qualsiasi comando sposta le parole intere alla riga successiva. Ecco un semplice esempio per approfondire questo concetto di base. Ogni volta che usiamo "\" con ""n"" ovunque nella frase, porta alla riga successiva.

$ printf ""%b \ n"" ""Tutto ciò che luccica è \ non oro""

Quindi la frase viene dimezzata e spostata nella riga successiva. Muovendosi verso l'esempio successivo, ""%b \ n"" viene sostituito. Qui viene utilizzato anche un costante ""-e"".

$ echo -e ""ciao mondo! Sono nuovo qui""

Quindi le parole dopo ""\ n"" vengono spostate sulla riga successiva.

Esempio 7

Abbiamo usato un file bash qui. È un programma semplice. Lo scopo è mostrare la metodologia di stampa utilizzata qui. È un ""per loop"". Ogni volta che prendiamo la stampa di un array attraverso un ciclo, questo porta anche alla rottura dell'array in parole separate sulle nuove linee.

Per la parola in $ a
Fare
Echo $ word
Fatto

Ora prenderemo la stampa dal comando di un file.

Conclusione

Esistono diversi modi per allineare i dati dell'array sulle righe alternative invece di visualizzarli su una singola riga. Puoi utilizzare una qualsiasi delle opzioni fornite nei tuoi codici per renderli efficaci.

"