Bash -Print -Array mit Newlines

Bash -Print -Array mit Newlines
Ein Array ist ein Container, der dieselben Datentypelemente enthält, entweder Ganzzahltyp oder Float -Typ. Wir können uns mit Arrays befassen, indem wir mehrere Operationen ausführen. Eine häufig verwendete Delima besteht darin, das Array zu brechen und jedes Wort auf einer neuen Zeile zu drucken. Diese Funktion wird im heutigen Artikel erörtert. Um dieses Konzept zu verstehen, müssen Sie auf ein Ubuntu-Terminal zugreifen, um Bash-bezogene Begriffe zu Ubuntu durchzuführen. Wir haben das Thema vom einfachsten zu kritischen Beispielen für das Verständnis des Benutzers behandelt.

Beispiel 1

Nehmen Sie in diesem Beispiel eine Variable und weisen Sie ihm den Wert zu. Der Wert ist eine lange Zeichenfolge. Um das Ergebnis der Zeichenfolge in neuen Zeilen zu haben, werden wir einem Array den Wert der Variablen zuweisen. Um die Anzahl der in der Zeichenfolge vorhandenen Elemente zu gewährleisten, drucken wir die Anzahl der Elemente mit einem jeweiligen Befehl.

S a = ”Ich bin ein Schüler. Ich mag programmieren “
$ arr = ($ a)
$ echo “arr hat $ #arr [@] Elemente.”

Sie sehen, dass der resultierende Wert die Nachricht mit den Elementnummern angezeigt hat. Wobei das Zeichen "#" verwendet wird, um nur die Anzahl der vorhandenen Wörter zu zählen. [@] zeigt die Indexnummer der String -Elemente an. Und das "$" -Schild ist für die Variable.

Um jedes Wort in einer neuen Zeile zu drucken, müssen wir die Schlüssel „%S '\ n“ verwenden. '%s' soll die Zeichenfolge bis zum Ende lesen. Gleichzeitig bewegt '\ n' die Wörter in die nächste Zeile. Um den Inhalt des Arrays anzuzeigen, werden wir nicht das Zeichen "#" verwenden. Weil es nur die Gesamtzahl der vorhandenen Elemente bringt.

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

Sie können aus der Ausgabe beobachten, dass jedes Wort auf der Newline angezeigt wird. Und jedes Wort wird mit einem einzigen Zitat zitiert, weil wir dies im Befehl bereitgestellt haben. Dies ist für Sie optional, um die Zeichenfolge ohne einzelne Zitate zu konvertieren.

Beispiel 2

Normalerweise wird eine Zeichenfolge durch Verwendung von Registerkarten und Räumen in ein Array oder einzelne Wörter unterteilt, aber dies führt normalerweise zu vielen Pausen. Wir haben hier einen anderen Ansatz verwendet, nämlich die Verwendung von IFs. Diese IFS -Umgebung befasst sich damit, zu zeigen, wie eine Zeichenfolge unterbrochen und in kleine Arrays umgewandelt wird. IFS hat einen Standardwert von "\ n \ t". Dies bedeutet, dass Speicherplatz, eine neue Zeile und eine Registerkarte den Wert in die nächste Zeile übergeben können.

In der aktuellen Instanz verwenden wir den Standardwert von IFS nicht. Stattdessen werden wir es durch ein einzelnes Zeichen von Newline, ifs = $ '\ n' ersetzen. Wenn Sie also Speicherplatz und Registerkarten verwenden, wird die Zeichenfolge nicht gebrochen.

Nehmen Sie nun drei Saiten und speichern Sie sie in der String -Variable. Sie werden sehen, dass wir die Werte bereits geschrieben haben, indem wir Registerkarten zur nächsten Zeile verwenden. Wenn Sie diese Saiten drucken, bildet es eine einzelne Zeile anstelle von drei.

$ str = ”Ich bin ein Schüler
Ich mag programmieren
Meine Lieblingssprache ist .Netz.”
$ echo $ str

Jetzt ist es Zeit, IFS im Befehl mit dem Newline -Charakter zu verwenden. Weisen Sie gleichzeitig die Werte der Variablen dem Array zu. Nachdem Sie dies erklärt haben, nehmen Sie einen Druck auf.

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

Sie können das Ergebnis sehen. Das zeigt, dass jede Zeichenfolge einzeln auf einer neuen Zeile angezeigt wird. Hier wird die gesamte Saite als einzelnes Wort behandelt.

Eine Sache ist hier zu beachten: Nachdem der Befehl beendet wurde.

Beispiel 3

Wir können auch die Werte des Arrays einschränken, die auf jeder Newline angezeigt werden sollen. Nehmen Sie eine Saite und legen Sie sie in die Variable. Konvertieren Sie es nun oder speichern Sie es im Array wie in unseren vorherigen Beispielen. Und nehmen Sie einfach den Druck mit der gleichen Methode wie zuvor beschrieben an.

Beachten Sie nun die Eingabezeichenfolge. Hier haben wir zweimal doppelte Zitate im Namensteil verwendet. Wir haben gesehen, dass das Array auf der nächsten Zeile aufgehört hat, wenn es auf einen vollen Stopp trifft. Hier wird der volle Stopp nach den doppelten Zängen verwendet. So wird jedes Wort in getrennten Zeilen angezeigt. Der Raum zwischen den beiden Wörtern wird als Bruchpunkt behandelt.

$ x = (name = ”Ahmad Ali aber“. Ich mag es zu lesen. "Fav Subjekt = Biologie")
$ arr = ($ x)
$ printf "%s \ n" "$ arr [@]"

Da der volle Stopp nach "Butt" ist, wird hier die Bruch des Arrays gestoppt. "Ich" wurde ohne Platz zwischen dem vollen Stopp geschrieben, so dass es vom vollen Stopp getrennt ist.

Betrachten Sie ein anderes Beispiel für ein ähnliches Konzept. Das nächste Wort wird also nach dem vollen Stopp nicht angezeigt. Sie können also sehen, dass nur das erste Wort als Ergebnis angezeigt wird.

$ x = (name = "shawa". "Fav Subjekt" = "Englisch")

Beispiel 4

Hier haben wir zwei Saiten. Mit jeweils 3 Elementen innerhalb der Klammern haben.

$ array1 = (Apple Banana Peach)
$ array2 = (Mango Orange Cherry)

Dann müssen wir den Inhalt beider Saiten anzeigen. Eine Funktion deklarieren. Hier haben wir das Schlüsselwort "Typenset" verwendet und dann einer Variablen und anderen Arrays ein Array einer anderen Variablen zugewiesen. Jetzt können wir beide Arrays drucken.

$ a ()
TypeSet -n Erstarray = $ 1 secondarray = $ 2
Printf '%s \ n' 1st: "$ Firstarray [@]"
Printf '%s \ n' 2.: "$ secondarray [@]"

Um nun die Funktion zu drucken, verwenden wir den Namen der Funktion mit beiden Zeichenfolgennamen, wie zuvor deklariert.

$ a Array1 Array2

Es ist aus dem Ergebnis sichtbar, dass jedes Wort aus beiden Arrays auf einer neuen Zeile angezeigt wird.

Beispiel 5

Hier wird ein Array mit drei Elementen deklariert. Um sie in neuen Linien zu trennen, haben wir ein Rohr und einen mit doppelten Quoten zitierten Raum verwendet. Jeder Wert des Arrays des jeweiligen Index wirkt als Eingabe für den Befehl nach der Pipe.

$ array = (Linux unix postgesql)
$ echo $ Array [*] | tr "" \ n "

So funktioniert der Speicherplatz bei der Anzeige jedes Wortes eines Arrays in einer neuen Zeile.

Beispiel 6

Wie wir bereits wissen. Hier ist ein einfaches Beispiel, um dieses grundlegende Konzept zu erläutern. Wann immer wir "\" mit ""n"" überall im Satz verwenden, führt es zur nächsten Zeile.

$ printf ""%b \ n"" ""All diese Glitzer sind nicht Gold""

Der Satz ist also halbiert und in die nächste Zeile verschoben. Wenn Sie sich zum nächsten Beispiel bewegen, wird „%b \ n“ ersetzt. Hier wird auch im Befehl ein konstantes ""-e"" verwendet.

$ echo -e “Hallo Welt! Ich bin neu hier""

Also werden die Wörter nach ""\ n"" in die nächste Zeile verschoben.

Beispiel 7

Wir haben hier eine Bash -Datei verwendet. Es ist ein einfaches Programm. Ziel ist es, die hier verwendete Druckmethode zu zeigen. Es ist eine ""für Schleife"". Immer wenn wir ein Array durch eine Schleife drucken.

Für das Wort in $ a
Tun
Echo $ word
Erledigt

Jetzt werden wir aus dem Befehl einer Datei gedruckt.

Abschluss

Es gibt verschiedene Möglichkeiten, Ihre Array -Daten auf den alternativen Zeilen auszurichten, anstatt sie in einer einzelnen Zeile anzuzeigen. Sie können eine der angegebenen Optionen in Ihren Codes verwenden, um sie effektiv zu machen.

"